📄 fsk.m
字号:
t0 = 0.15; %信号持续时间
tz = 0.0005; %采样频率
fc = 200; %载波频率
kf = 50; %调制系数
fz = 1/tz; %2KHz
t = [0:tz:t0]; %定义时间序列
df = 0.25;
%定义信号序列
m = [ones(1,t0/(3*tz)),-2*ones(1,t0/(3*tz)),zeros(1,t0/(3*tz)+1)];
int_m(1) = 0;
for i = 1:length(t) - 1
int_m(i+1) = int_m(i)+m(i)*tz;%求int_m类似于积分过程
end
[M,m,df1] = fftseq(m,tz,df); %傅立叶变换
f = [0:df1:df1*(length(m)-1)];
u = cos(2*pi*fc*t+2*pi*kf*int_m); %调制信号调制在载波上
[U,u,df1] = fftseq(u,tz,df); %傅立叶变换
figure(1)
subplot(2,1,1)
plot(t,m(1:length(t))) %作出信号波形
axis([0 0.15 -2.1 2.1]);
xlabel('时间')
title('未调信号');
subplot(2,1,2)
plot(t,u(1:length(t))) %作出调频信号波形
axis([0 0.15 -2.1 2.1]);
xlabel('时间')
figure(2)
title('调频信号');
subplot(2,1,1)
plot(f,abs(fftshift(M))) %作出源信号频谱
xlabel('频率');
title('信号的频谱')
subplot(2,1,2)
plot(f,abs(fftshift(U))) %作出调频信号频谱
title('调频信号的频谱');
xlabel('频率')
function[M,m,df] = fftseq(m,tz,df)
fz = 1/tz;
if nargin == 2
n1 = 0;
else n1 = fz/df;
end
n2 = length(m);
n = 2^(max(nextpow2(n1),nextpow2(n2)));
M = fft(m,n);
m = [m,zeros(1,n-n2)];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -