FM Broadcast modulator baseband decimation factor
Ältere Kommentare anzeigen
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.
Antworten (2)
Abhishek Ballaney
am 29 Mär. 2018
0 Stimmen
https://in.mathworks.com/help/comm/ref/fmbroadcastmodulatorbaseband.html
2 Kommentare
Emilija Lazdanaite
am 29 Mär. 2018
Quenten Switten
am 8 Apr. 2020
Have you find the solution on this question?
I ask this because I have the same problem.
Trey Shenk
am 13 Dez. 2022
0 Stimmen
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, ...
'SampleRate',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 = fmbMod.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, ...
'SampleRate',fs,'PlaySound',true);
fmbDemod(sig);
Kategorien
Mehr zu Modulation finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!