double

Приведение коэффициентов цифрового фильтра к двойной точности

Синтаксис

Описание

пример

f2 = double(f1) приводит коэффициенты в цифровой фильтр, f1, для удвоения точности и возвратов нового цифрового фильтра, f2, который содержит эти коэффициенты.

Примеры

свернуть все

Использование designfilt для разработки конечной импульсной характеристики фильтра 5-го порядка lowpass. Задайте нормированную частоту полосы пропускания 0.2π рад/выборка и нормированная частота стоп-диапазона 0.55π рад/образец.

Приведите фильтр к одинарной точности и приведите его к двойной точности. Отобразите первый коэффициент каждого фильтра.

format long
d = designfilt('lowpassfir','FilterOrder',5, ...
               'PassbandFrequency',0.2,'StopbandFrequency', 0.55);
e = single(d);
f = double(e);

coed = d.Coefficients(1)
coed = 
   0.003947882145754

coee = e.Coefficients(1)
coee = single
   0.0039479

coef = f.Coefficients(1)
coef = 
   0.003947881981730

Использование double для анализа, с двойной точностью, эффектов квантования коэффициентов фильтра с одной точностью.

Входные параметры

свернуть все

Одноточный цифровой фильтр, заданный как digitalFilter объект. Использовать designfilt для генерации цифрового фильтра на основе спецификаций частотной характеристики и single привести его к одинарной точности.

Пример: f1= single(designfilt('lowpassfir','FilterOrder',3,'HalfPowerFrequency',0.5)) задает фильтр Баттерворта третьего порядка с нормированной частотой 3-dB 0.5, рад/образец приведенный с одинарной точностью.

Выходные аргументы

свернуть все

Цифровой фильтр двойной точности, возвращенный как digitalFilter объект.

Введенный в R2014a