簡體   English   中英

MATLAB-FM調制

[英]MATLAB - FM Modulation

我正在嘗試使用Matlab頻率調制正弦信號。 我為相同的代碼編寫了以下代碼:

fc = 5000; %Carrier Frequency
fs = 1000; %Signal Frequency
t = 0:0.00001:0.002;
x = sin(2*pi*fs*t);
dev = 50;
subplot(2,1,1);
plot(t,x);
y = fmmod(x,fc,fs,dev);
subplot(2,1,2);
plot(t,y);

它能夠顯示第一個繪圖命令,但不顯示第二個命令。 它將引發錯誤: `fmmod' undefined near line 10 column 5 上面的代碼有什么問題?

以下函數將生成FM調制信號-不如fmmod好(靈活),但是如果您沒有Comm System Toolbox,則這可能是一個不錯的選擇。

function [s t] = makeFM( x, Fc, Fs, strength )
% for a signal x that modulates a carrier at frequency Fc
% produce the FM modulated signal
% works for 1 D input only
% no error checking

x = x(:);

% sampling points in time:
t = ( 0 : numel( x ) - 1 )' / Fs;

% integrate input signal
integratedX = cumsum( x ) / Fs;
s = cos( 2 * pi * ( Fc * t  + strength * integratedX ));   

將其放在您的路徑中,並使用與fmmod函數類似的參數調用它(但不包含可選參數):

fc = 5000; %Carrier Frequency
fs = 1000; %Signal Frequency
t = 0:0.00001:0.002;
x = sin( 2*pi*fs*t );
dev = 50;
subplot(2,1,1);
plot(t,x);
y = makeFM(x, fc, 2.5*fc, dev); % note sampling frequency must be > carrier frequency!
subplot(2,1,2);
plot(t,y);

讓我知道這對您有用。

我想這是更簡單的方法

  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM