Correct use of fmmod and fmdemod ?

12 次查看(过去 30 天)
Hello,
I am trying to modulate a square pulse in matlab but when I pass it through fmmod and fmdemod I get an unexpected result. Am I using these functions correctly? Is there something wrong I am doing with sampling?
clear
Fs = 100; %sample frequency
Ts= 1/Fs;
symbol_duration= 1; %Time duration of the pulse in seconds
t= 0:Ts:symbol_duration;
degree= 1; %Degree of the Legendre Polynomial "space"
Fc = Fs/2-1; %% This is the carrier frequency of the baseband frequency
p = zeros(1,length(t))+1;
freqdev= max(abs(p)) ; %% Need to research this more
modulated_p = fmmod(p,Fc,Fs,freqdev);
dmod_p = fmdemod(modulated_p,Fc,Fs,freqdev);
plot(t,p,'c',t,dmod_p,'b--');
legend('Original Signal','Demodulated Signal')

回答(1 个)

Ashutosh Singh Baghel
Hi Russell,
I believe you want to implement 'fmmod' and 'fmdemod' on a square pulse.
According to the Nyquist-Sampling theorem, the sampling frequency used should be greater than twice the most significant frequency content in the message. In practice, it is best to buffer some frequency gap between the sampling frequency and twice of frequency content rather than using the limiting cases of the Nyquist theorem.
The sampling frequency here is suggested to be more than the sum of contents of frequency deviation and highest frequency together.
Please refer to the following example for a sinusoidal waveform through 'fmmod' and 'fmdemod' on the MATLAB Documentation page.

类别

Help CenterFile Exchange 中查找有关 Modulation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by