m基于MATLAB的FM调制收音机仿真实现
1.算法概述
那么FM调制端的基本原理图如下所示:
FM解调
FM解调的基本原理框图为:
在不考虑频偏的情况下,FM解调运算就相当于FM调制的逆运算,任务的第一步比较简单,所以这里关于FM解调的原理就不在叙述。
对该系统进行系统仿真,在仿真之前,要将系统做进一步的模块化从而有利于仿真分析。
2.仿真效果预览
matlab2013b
上图是系统的发送信号,第二章图是通过FM调制以后的信号。系统发送出去的就是这个信号。
这是系统接收到的信号,我们可以看到,接收到的信号在初始有一个抖动的过程,这个就是PLL的锁定过程,通过这个锁定过程,系统就可以得到正确的解调信号,上图第三章图是PLL的相位输出,通过一开始的抖动,相位误差就锁定在0附近,这说明相位已经锁定了。此后的解调信号都是正确的。
以上是一个正弦信号做为发送信号,下面我们用一个方波来作为发送信号检测系统。
当发送发波的时候也可以锁定,但是在波形的边沿会产生误差信号。
3.核心MATLAB代码预览
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | N = 4000; % 采样点数 Fs = 40000; % 采样频率 Ts = 1/Fs; % 采样周期 %注意,这里不同的频域,不同改变的太夸张,否则系统也无法正常工作。46000~54000 %5000~15000,25000~35000,45000~55000,65000~75000,85000~95000,105000~115000.. %....................... k= input ( '请输入你要的电台序号:0,1,2,3,4,5,6,7,8,9\n\n\n' ); fc1= k*20000+8000+4000* rand (1) %发送载波频率 fc2 =k*20000+10000 %接收载波频率 t = [0:Ts:(N*Ts)- Ts]; start_point = 1; end_point = 1000; %查看仿真的持续时间周期 %锁相环的初始化 TestFreq = 500; %FM调制频率 msg = 0.5*square(2* pi *TestFreq*t); %要发送的信号 [fmmsg, phase] = fm_modulation(msg, fc1, Fs, 1.0, 0.05, 0); %调用FM调制函数进行调制 %以上就是FM的调制过程 %============================================================= %============================================================= %一下是PLL-FM解调过程 [pd_out,lfsum,lf_out,vco_phase,vco_out] = pll_function(fmmsg,Fs,2.0,1.0,1.0,fc2,50000,1.0); figure (1); subplot (3,1,1); plot (fmmsg(start_point:end_point)); title ( '10K的载波对500HZ的信号进行调制' ); grid ; subplot (3,1,2); plot (lf_out(start_point:end_point)); title ( 'PLL的环路滤波输出信号' ); grid ; subplot (3,1,3); plot (pd_out(start_point:end_point)); % fc1>fc2,值<0, title ( 'PLL相位输出' ); % fc1<fc2,值>0, % Rfc1=fc2,值-5~5 A01-11 |
分类:
Matlab通信和信号
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体