exponenta event banner

дважды

Коэффициенты литья цифрового фильтра с двойной точностью

Синтаксис

Описание

пример

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

Примеры

свернуть все

Использовать designfilt для проектирования фильтра нижних частот FIR 5-го порядка. Задайте нормированную частоту полосы пропускания 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)) задает фильтр Butterworth третьего порядка с нормированной частотой 3-dB 0.5δ рад/образец, отлитый с единственной точностью.

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

свернуть все

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

Представлен в R2014a