Канализируйте и синтезируйте Sine wave в MATLAB

Канализируйте и синтезируйте синусоидальный сигнал с несколькими частотами с помощью 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

Смотрите также

|

Похожие темы