FM Broadcast modulator baseband decimation factor

조회 수: 10(최근 30일)
Emilija Lazdanaite
Emilija Lazdanaite 2018년 3월 29일
답변: Trey Shenk 2022년 12월 13일
Does anyone have experience with the FM Broadcast block in Simulink? I keep getting the error "The signal length (number of rows) must be a multiple of the decimation factor:[...]", but the online explanation of what the decimation factor is is not really clear.


Abhishek Ballaney
Abhishek Ballaney 2018년 3월 29일
  댓글 수: 2
Quenten Switten
Quenten Switten 2020년 4월 8일
Have you find the solution on this question?
I ask this because I have the same problem.

댓글을 달려면 로그인하십시오.

Trey Shenk
Trey Shenk 2022년 12월 13일
You can find the decimation factor using the comm.FMBroadcastModulator system function "info." Here's a modified version of the Mathworks FM example, with the input truncated so that you need to adjust the length.
audio_data = audioread('guitartune.wav');
audio_fs = 44.1e3; %sampling rate of audio
fs = 240e3; % modulated output sampling rate
fmbMod = comm.FMBroadcastModulator( ...
'AudioSampleRate',audio_fs, ...
% truncate audio_data so that it we need to adjust length for demo
audio_data = audio_data(1:661100);
% get the decimation factor
mod_info =;
dec_factor = mod_info.AudioDecimationFactor;
% zero-pad if needed
zpad_num = dec_factor - mod(length(audio_data), dec_factor);
audio_data = padarray(audio_data, zpad_num, 'post');
% generate modulated signal
sig = fmbMod(audio_data);
% demodulate and listen to confirm settings
fmbDemod = comm.FMBroadcastDemodulator( ...
'AudioSampleRate',audio_fs, ...

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by