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.

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

См. также

Введенный в R2011a