matalb 产生信号源 AM调制解调 FM调制解调
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%AM调制解调系统
%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
clf;
close all
Fs=800000;%采样频率800k
fz=80000;%载波频率80k
fj=1000;%基波频率1k
i=5000;%采样点数
t=(1:i)/Fs;%时间
B=1;%基波的幅度
A=1;%直流分量
%%%%%%%%%%%%%%%%%%%
%产生基波
%%%%%%%%%%%%%%%%%%%
Mod_Sig=B*sin(2*pi*fj/Fs*(1:i));%基波 subplot(311);plot(t,Mod_Sig);grid on;title('基波');xlabel('时间(S)');ylabel('幅度(V)');
%%%%%%%%%%%%%%%%%%%
%产生载波
%%%%%%%%%%%%%%%%%%%
Carrier=cos(2*pi*fz/Fs*(1:i)+1/3*pi);%载波1/3*pi为初相
subplot(312);plot(t(1:200),Carrier(1:200));grid on;title('载波');xlabel('时间(S)');ylabel('幅度(V)');
%%%%%%%%%%%%%%%%%%%
%产生AM调制信号
%%%%%%%%%%%%%%%%%%%
Dsb_am=Carrier.*(A+Mod_Sig);%am调制其中1表示调制深度为100% subplot(313);plot(t,Dsb_am);grid on;title('调制信号');xlabel('时间(S)');ylabel('幅度(V)');
%%%%%%%%%%%%%%%%%%%
%本地载波恢复
%%%%%%%%%%%%%%%%%%%
Q_Carrier=sin(2*pi*fz/Fs*(1:i));%本地载波
I_Carrier=cos(2*pi*fz/Fs*(1:i));%本地载波
%%%%%%%%%%%%%%%%%%%
%与载波相乘
%%%%%%%%%%%%%%%%%%%
I_sig=Dsb_am.*I_Carrier;%I_s(n)信号
Q_sig=Dsb_am.*Q_Carrier;%Q_s(n)信号
%%%%%%%%%%%%%%%%%%%
%50K的低通滤波器的参数(FIR),在50k处衰减3dB
%%%%%%%%%%%%%%%%%%%
b2=[ -0.00106922746866,-0.006075550546223,-0.007384066670327, ...
-0.01052472923662, -0.01204471419927, -0.01133837646302,-0.007173132971803, ...
0.00124885770863, 0.01421859098232, 0.03131749663963, 0.05136128801581, 0.07250241184686, ...
0.09245525890349, 0.1088536253853, 0.1196360034084, 0.1233945655916, 0.1196360034084,...
0.1088536253853, 0.09245525890349, 0.07250241184686, 0.05136128801581, 0.03131749663963, ...
0.01421859098232, 0.00124885770863, -0.007173132971803, -0.01133837646302, -0.01204471419927,...
-0.01052472923662, -0.007384066670327,-0.006075550546223, -0.00106922746866];
%%%%%%%%%%%%%%%%%%%
%得到滤波后的IQ信号
%%%%%%%%%%%%%%%%%%%
sI1 = filter(b2,1,I_sig);%I(n)
sQ1 = filter(b2,1,Q_sig);%Q(n)
%%%%%%%%%%%%%%%%%%%
%解调算法
%%%%%%%%%%%%%%%%%%%
demo=2*sqrt(sI1.*sI1+sQ1.*sQ1);
%%%%%%%%%%%%%%%%%%%
%解调输出
%%%%%%%%%%%%%%%%%%%
figure;
plot(t,Mod_Sig,t,Dsb_am,t,demo);
grid on;title('基带信号,am调制信号,解调信号');xlabel('时间(S)');ylabel('幅度(V)');grid on;legend('基带','调制信号','解调信号');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%FM调制解调系统
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
clf;
close all
Fs=800000;%采样频率800k
fz=80000;%载波频率80k
fj=1000;%基波频率1k
i=4096;%采样点数
A=1;%幅度
Kf=0.2;%调频灵敏度
t=(1:i)/Fs;%时间
tf=(1:i-1)/Fs;%时间
f=((1:i)-1)*Fs/i; %换算成实际的频率值
tz=1; %时间向量精度
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%产生信号(基波)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Mod_Sig_c=A*cos(2*pi*fj/Fs*(1:i));%基波cos,[M(t)]
%画图基带信号
subplot(311);plot(t,Mod_Sig_c);title('基带信号');xlabel('时间(S)');ylabel('幅度(V)');grid on;legend('基带');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%载波信号(载波)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Carrier_c=cos(2*pi*fz/Fs*(1:i));%载波cos
%画载波
subplot(312);plot(t(1:300),Carrier_c(1:300));title('载波信号');xlabel('时间(S)');ylabel('幅度(V)');grid on;legend('载波');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%对基波积分
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
int_m(1)=0; %对m_fun积分
for p=1:length(1:i)-1
int_m(p+1)=int_m(p)+Mod_Sig_c(p)*tz;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%产生FM调制信号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
SFm_c=A*cos(2*pi*fz/Fs*(1:i)+int_m*Kf+1/2*pi);%FM调制信号 ,1/2*pi为频偏,但实际意义不大
SFm=awgn(SFm_c,0.00000022);
%画调制信号
subplot(313);plot(t,SFm);title('调制信号');xlabel('时间(S)');ylabel('幅度(V)');grid on;legend('调制信号');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%对调制信号做FFT,FFT的频率和幅值的计算,并画图显示
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ff_SFm=fft(SFm);%快速傅里叶变换
ff_SFm_abs=abs(ff_SFm);%取模值
ff_SFm_range=ff_SFm_abs/(i/2); %换算成实际的幅度
ff_SFm_range(1)=ff_SFm_abs(1)/i;%换算直流分量
figure;plot(f(1:i/2),ff_SFm_range(1:i/2));title('FM的频谱');xlabel('频率(Hz)');ylabel('幅度(V)');grid on;legend('FM的频谱');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%解调过程
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Q_Carrier=sin(2*pi*fz/Fs*(1:i));%本地载波恢复
I_Carrier=cos(2*pi*fz/Fs*(1:i));%本地载波恢复
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%得到IQ信号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
SigI=SFm.*I_Carrier;%I_s(n)信号
SigQ=SFm.*Q_Carrier;%Q_s(n)信号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%低通滤波器50k衰减3db的系数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
lpf50k=[ -0.00106922746866,-0.006075550546223,-0.007384066670327, -0.01052472923662, -0.01204471419927,...
-0.01133837646302,-0.007173132971803, 0.00124885770863, 0.01421859098232, 0.03131749663963, 0.05136128801581,...
0.07250241184686, 0.09245525890349, 0.1088536253853, 0.1196360034084, 0.1233945655916, 0.1196360034084, ...
0.1088536253853, 0.09245525890349, 0.07250241184686, 0.05136128801581, 0.03131749663963, 0.01421859098232, ...
0.00124885770863, -0.007173132971803, -0.01133837646302, -0.01204471419927, -0.01052472923662, ...
-0.007384066670327,-0.006075550546223, -0.00106922746866];
%IQ信号分别通过低通滤波器
FsigI=filter(lpf50k,1,SigI);%I(n)
FsigQ=filter(lpf50k,1,SigQ);%Q(n)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%解调算法%Q(n)I(n-1)-I(n)Q(n-1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for w=1:i-1
demo(w)=FsigI(w+1).*FsigQ(w)-FsigI(w).*FsigQ(w+1);
end
% demo=atan2(FsigQ,FsigI);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%幅度调整由公式1-12可知,因为A=1,Kf=0.2,所以1/C=20
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
demod=20*(demo); figure;plot(t,Mod_Sig_c,tf,demod);grid on;title('FM的解调');xlabel('时间(s)');ylabel('幅度(V)');grid on;legend('基带信号','解调信号');
matalb 产生信号源 AM调制解调 FM调制解调的更多相关文章
- 通信原理实践(三)——FM调制
一.FM调制 1.代码如下: clc,clear; fm = ; % 调制信号频率(Hz) Am = 0.5; % 调制信号幅度 fc = 5e3; % 载波频率(Hz) Ac = ; % 载波幅度 ...
- 基于FPGA的通信信号源的设计
通信信号源设计原理 通过设计一个DDS信号源,然后将该信号作为载波信号,再对基带信号进行2ASK.2FSK.2PSK.2DPSK调制,进而产生多种通信信号. 设计框图如下: 将PN序列进行2ASK.2 ...
- 【5集iCore3_ADP演示视频】5-5 iCore3应用开发平台示波器和信号源校准
iCore3双核心应用开发平台基于iCore3双核心板,包含ARM.FPGA.7寸液晶屏.双通道数字示波器.任意波发生器.电压表等模块,是一款专为电子爱好者设计的综合性电子学习系统. [视频简介]本视 ...
- 总结:PyQt5自定义信号源
定义一个信号源有4个方面要注意: 1.定义信号源 A = pyqtSignal([str], [int,str]) 这里特别使用信号源重载的情况加以说明.如上就是信号源A的重载,一个可以发送str参数 ...
- loto仪器_如何模拟输出凸轮轴和曲轴波形_用任意波形信号源SIG852?
loto仪器_如何模拟输出凸轮轴和曲轴波形_用任意波形信号源SIG852? 在汽车传感器的波形检测应用中,有时候需要模拟各种汽车传感器的输出信号,用来驱动和监测对应的执行机构或者电路是否正常,这其中, ...
- Flask信号源码流程
1. appcontext_pushed = _signals.signal('appcontext-pushed'# 请求app上下文push时执行 return RequestContext(se ...
- 通信原理实践(四)——模拟通信系统性能分析
一.模拟通信系统性能分析 1.系统框图 2.信噪比定义 (1)输入信噪比: (2)输出信噪比: (3)调制制度增益: 3.模拟通信系统分析等价模型 即自己产生一个高斯白噪声,加入到调制信号,然后在送入 ...
- Python在信号与系统(1)——Hilbert兑换,Hilbert在国家统计局的包络检测应用,FIR_LPF滤波器设计,格鲁吉亚也迫使高FM(PM)调制
谢谢董老师,董老师是个好老师. 心情久久不能平静,主要是高频这门课的分析方法实在是让我难以理解,公式也背只是,还是放放吧. 近期厌恶了Matlab臃肿的体积和频繁的读写对我的Mac的损害,所以学习了一 ...
- DVB-C系统中QAM调制与解调仿真
本文简单记录一下自己学习<通信原理>的时候调试的一个仿真DVB-C(Cable,数字有线电视)系统中QAM调制和解调的程序.自己一直是研究"信源"方面的东西,所以对&q ...
随机推荐
- CSS面试复习(三):预处理器、工程化方案、三大框架中的CSS
一.预处理器 1.介绍 基于CSS的另一种语言.通过工具编译成CSS.添加了很多CSS不具备的特性.能提升CSS文件的组织 2.less嵌套 3 .sass嵌套 4. less变量 5.sass变量 ...
- js判断浏览器类型和版本
原网址:http://www.cnblogs.com/rubylouvre/archive/2009/10/14/1583362.html 除了另无它法,肯定不使用navigator.userAgen ...
- 在Github和oschina上搭建自己的博客网站
在Github上搭建 - 参考链接 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门 GitHub + Jekyll 搭建并美化个人网站 用Jekyll搭建的Git ...
- Microsoft SQL - 操作语句
操作语句(Operation Statement) 操作数据库 创建数据库 关键字:create database 用于创建各种数据库对象(数据库.表.触发器.存储过程等) 格式如:create &l ...
- Eclipse安装教程 ——史上最详细安装Java &Python教程说明
参考链接:https://blog.csdn.net/zichen_ziqi/article/details/73995755
- truncate、delete、drop区别
语法: truncate table 表名 delete from 表名 drop table 表名 应用范围: truncate 只能对表,且不能用于参与了索引的表,不能用于外键约束引用的表 del ...
- [转]python中的正则表达式(re模块)
转自:https://www.cnblogs.com/tina-python/p/5508402.html 一.简介 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成 ...
- rtl8201以太网卡调试【转】
转自:https://blog.csdn.net/wenjin359/article/details/82893122 参考博客:https://blog.csdn.net/zpzyf/article ...
- 利用微信企业号的告警功能,联动检测ICMP的shell脚本
作者:邓聪聪 由于设备IP众多,为了及时发现IP地址有不可达现象,利用微信的联动报警,及时发现问题,以下是脚本内容!!! ping.sh #!/bin/bash ###SCRIPT_NAME:icmp ...
- CFtpConnection Class
CFtpConnection Class 1.链接http://technet.microsoft.com/zh-cn/office/2kywsafk(v=vs.80) 2.测试ftp可以用这个地 ...