exponenta event banner

fdesign.polysrc

Конструктор фильтров полиномиального преобразователя частоты дискретизации (POLYSRC)

Синтаксис

d = fdesign.polysrc(l,m)
d = fdesign.polysrc(l,m,'Fractional Delay','Np',Np)
d = fdesign.polysrc(...,Fs)

Описание

d = fdesign.polysrc(l,m) конструирует конструктор D полиномиального преобразователя частоты дискретизации с коэффициентом интерполяции L, а коэффициент прореживания M.L по умолчанию равен 3. По умолчанию M - 2. L и M могут быть произвольными положительными числами.

d = fdesign.polysrc(l,m,'Fractional Delay','Np',Np) инициализирует спецификацию конструктора фильтра с помощью Np и устанавливает полиномиальный порядок как значение Np. Если параметр Np опущен, значение по умолчанию равно 3.

d = fdesign.polysrc(...,Fs) определяет частоту дискретизации (в Гц).

Примеры

свернуть все

В этом примере показано, как создать преобразователь частоты дискретизации, использующий фильтр интерполяции Лагранжа 3-го порядка для преобразования из 44.1kHz в 48kHz.

[L,M] = rat(48/44.1);
f = fdesign.polysrc(L,M,'Fractional Delay','Np',3);
Hm = design(f,'lagrange');

Первоначальная частота дискретизации

Fs = 44.1e3;

9408 образцов, длиной 0,213 секунды

n = 0:9407;

Исходный сигнал, синусоида при 1kHz

x  = sin(2*pi*1e3/Fs*n);

10241 образец, еще 0,213 секунды

y = filter(Hm,x);

Печать исходного образца в точке 44.1kHz

stem(n(1:45)/Fs,x(1:45))
hold on

Figure contains an axes. The axes contains an object of type stem.

Постройте график дробно-интерполированного сигнала (48kHz) красным цветом

stem((n(3:51)-2)/(Fs*L/M),y(3:51),'r','filled')
xlabel('Time (sec)');ylabel('Signal value')
legend('44.1 kHz sample rate','48 kHz sample rate')

Figure contains an axes. The axes contains 2 objects of type stem. These objects represent 44.1 kHz sample rate, 48 kHz sample rate.

Дополнительные сведения об SRC Farrow см. в примере «Эффективное преобразование частоты выборки между произвольными факторами»: efficientsrcdemo.

См. также

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