Канализируйте и синтезируйте синусоидальный сигнал с несколькими частотами с помощью M - набор фильтров канала.
M - набор фильтров канала содержит аналитический раздел набора фильтров и раздел набора фильтров синтеза. dsp.Channelizer
возразите реализует аналитический раздел набора фильтров. dsp.ChannelSynthesizer
возразите реализует раздел набора фильтров синтеза. Эти объекты используют эффективную многофазную структуру, чтобы реализовать набор фильтров. Для получения дополнительной информации смотрите Многофазную Реализацию в соответствии с Алгоритмами на страницах ссылки на объект.
Инициализируйте dsp.Channelizer
и dsp.ChannelSynthesizer
Системные объекты. Каждый объект настраивается с 8 диапазонами частот, 8 многофазными ветвями в каждом фильтре, 12 коэффициентами на многофазную ветвь и затуханием в полосе задерживания 140 дБ. Используйте синусоиду с несколькими частотами как входной сигнал. Просмотрите входной спектр и выходной спектр с помощью спектра анализатор.
offsets = [-40,-30,-20,10,15,25,35,-15]; sinewave = dsp.SineWave('ComplexOutput',true,'Frequency',... offsets+(-375:125:500),'SamplesPerFrame',800); channelizer = dsp.Channelizer('StopbandAttenuation',140); synthesizer = dsp.ChannelSynthesizer('StopbandAttenuation',140); spectrumAnalyzer = dsp.SpectrumAnalyzer('ShowLegend',true,... 'SampleRate',sinewave.SampleRate,... 'NumInputPorts',2,'ChannelNames',{'Input','Output'},... 'Title','Input and Output Spectra');
Используйте channelizer, чтобы разделить широкополосный входной сигнал в несколько узких полос. Затем передайте несколько узкополосных сигналов в синтезатор, который объединяет эти сигналы сформировать широкополосный сигнал. Сравните спектры сигналов ввода и вывода. Спектры ввода и вывода соответствуют очень тесно.
for i = 1:5000 x = sum(sinewave(),2); y = channelizer(x); v = synthesizer(y); spectrumAnalyzer(x,v) end
dsp.Channelizer
| dsp.ChannelSynthesizer