FM Broadcast modulator baseband decimation factor
    11 views (last 30 days)
  
       Show older comments
    
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.
0 Comments
Answers (2)
  Abhishek Ballaney
      
 on 29 Mar 2018
        https://in.mathworks.com/help/comm/ref/fmbroadcastmodulatorbaseband.html
2 Comments
  Quenten Switten
 on 8 Apr 2020
				Have you find the solution on this question?
I ask this because I have the same problem. 
  Trey Shenk
 on 13 Dec 2022
        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);
0 Comments
See Also
Categories
				Find more on Modulation in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


