coding FM modulation

조회 수: 1 (최근 30일)
Michael Adelman
Michael Adelman 2012년 6월 16일
|hi,
I'm writing FM modulation according the plain math (without any matlab functions): http://www.st-andrews.ac.uk/~jcgl/Scots_Guide/RadCom/part12/page1.html
Fs = 100e3; % Sampling frequency for audio
dt = 1/Fs; %to reduce number of elements in the vector and increase
% calaulation time.
T = 1;
%t = 0:dt:T/2;
t = (0:Fs-1)/Fs;
df = 1/T;
Fmax = 1/2/dt;
f = -Fmax:df:Fmax-1;
% Carrier
fc = 10e3;
% Information - Time domain
fm = 200; %in Hz
Am = 1;
Kp = 7.5;
ym = Am*sin(2*pi*fm.*t);
deltaF = Kp*Am;
% Modulation
beta = deltaF/(fm);
y = 4*cos(2*pi*fc.*t+beta*sin(2*pi*fm.*t));
% Frequency domain
Y = fftshift(fft(y))/length(y);
% Plots - Time domain
figure(1);
subplot(211), plot(t,cos(2*pi*fm.*t)),axis([0.21 0.221 -1.5 1.5]), grid on;
subplot(212), plot(t,y), axis([0.21 0.221 -5 5]), grid on;
% Plots - frequency domain
figure(2);
plot(f,10*log10(abs(Y))), grid on;
%end code
Only at very high values of Kp I'm getting correct results in time domain but in frequency i'm still not getting correct results.
Please help.
  댓글 수: 1
Walter Roberson
Walter Roberson 2012년 6월 16일
You are using *many* MATLAB functions. See http://www.mathworks.com/matlabcentral/answers/38787-what-can-be-programmed-without-any-built-in-functions

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

채택된 답변

Michael Adelman
Michael Adelman 2012년 6월 16일
Hello Walter,
Thank you for the comment. I actually asked more on the FM modulation coding and incorrect outputs that get. Can you comment on that matter?
Thanks,
  댓글 수: 1
Walter Roberson
Walter Roberson 2012년 6월 17일
It is not possible to get an output without using a MATLAB function, so getting any output at all is incorrect when you are under the restriction of not using any MATLAB functions.

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

추가 답변 (0개)

카테고리

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