FM调制解调

FM调制解调
1.matlab仿真
先用matlab仿真,验证算法的可行性。
代码如下:

echo off
close all
clear all
clc

%%%%%%%%%%%%%%%%%%FM调制%%%%%%%%%%%%%%%%%%%%%
ps = 625000;                    % 数据率625KHz
Fs = 80*10^6;                   % 80M采样率
dt = 1/Fs;                      % 采样间隔
a  = 1000;                      
t  = 0:dt:(a*Fs/ps-1)/Fs;       % 产生时间序列
N  = length(t)-1;
am = 5;                         % 设定调制信号幅度
fm = 15*10^2;                   % 调制信号频率
fc = 5*10^6;                    % 载波频率5M
mt = am*sin(2*pi*fm*t);         % 生成调制信号
ct = cos(2*pi*fc*t);            % 生成载波
kf = 10000;                     % 调频系数  频偏75kHz

integral_mt(1)=0;
for i=1:N                       %积分
    integral_mt(i+1)=integral_mt(i)+mt(i)*dt;
end
%figure(100);plot(t,integral_mt); title('integral_mt');
sfm= am*cos(2*pi*fc*t+2*pi*kf*integral_mt); %已调信号

%%%%%%%%%%%%画图%%%%%%%%%%%%
figure(1);
subplot(311);
plot(t,mt); title('调制信号时域');
axis([0 10^(-3) -5 5]);  
subplot(312);plot(t,ct); title('载波信号时域');
axis([0 10^(-5) -1 2]);  
subplot(313);plot(t,sfm);title('已调信号时域');
axis([0 10^(-5) -5 5]);  

%%%%%%%%%%%%画图%%%%%%%%%%%%
figure(2);
subplot(311);
plot((N/2:N/2)*Fs/N,20*log10(abs(fftshift(fft(mt)))));
title('调制信号频域'); 
subplot(312);
plot((N/2:N/2)*Fs/N,20*log10(abs(fftshift(fft(ct)))));
title('载波信号频谱'); 
subplot(313);
plot((N/
  • 21
    点赞
  • 239
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值