首页/文章/ 详情

大学毕业设计一席谈之四十三 FM调制解调器(3)使用数字锁相环的FM接收机

2小时前浏览4
继续讲解!之前用叉积鉴频的方式完成了FM信号的解调,但这种方法有很大的局限性。我们也可以通过锁相环实现FM信号解调,这两种方法在原理、实现复杂度、性能和应用场景上存在显著差异。
本文写作历时一年多时间,经过不同时期的思考,尤其是在续写锁相知识时补充了很多内容。文章超过三千字,非专业人士可看预览内容了解解调过程,莫要付费学习!本文的仿真代码较多,体现版本变化和升级过程,因为想让读者看到各种纠错过程,这种过程的展示能帮助大家涨经验。
最后的解调效果一定要用音频效果来验证。模拟调制没法用误码率指标来衡量性能!
大家要注意的是叉积鉴频主要适用于窄带 FM 信号,主要是由该算法自身特性和窄带 FM 信号特点决定的!所以我们必须要了解锁相环解调FM的算法。在学习锁相环解调算法之前再回顾一下叉积鉴频算法!
一起来看一下使用锁相环的数字FM接收机的原理框图!全数字FM接收机可以使用锁相环来实现,尤其是数字锁相环在通信系统中具有显著优势。通过相位检测器、环路滤波器和数控振荡器的协同工作,数字锁相环可以有效地解调FM信号,并结合数字信号处理技术实现高性能、高灵活性的FM接收机。
提示:在产品中,鉴相器后面直接进入环路滤波器吗?
算法工程师写程序前心中一定要有总体架构!不然没法下笔写代码!这是本人的感受!先来看看仿真程序吧!依靠仿真能做成真的FM接收机吗?当然可以,只要有硬件的支持即可。
还可以扩展!在以上基础上为FM收音系统增加自动搜台、存储频道和手动选台功能;并添加外部显示设备(可以使用LCD,VGA,HDMI等任意显示设备)或上位机软件为SOC的显示外设,实现具有一定美工效果的显示界面。针对某个特定应用添加更多功能,可以选择但不限于:FM双向通信(FM无线对讲机)、实时以太网传输、实时USB传输、录音存储等功能,且新增加功能需要和已有FM收音机功能形成完整且有意义的整体功能,不能只是多个功能无意义的堆叠或拼接。鼓励自制外设板卡。
这些都是值得本科生去尝试和探索的!从简单到复杂,一步一步来!先看基本的FM调制解调程序该怎么写?抱着试试看的态度尝试训练ChatGPT来完成程序的编写,最终都失败了。
训练了两个多小时,最终还是无法得到正确的结果!
训练到最后,给出的锁相环代码依旧存在错误!比如在更新锁相环的时候,我们不会同时更新频率和相位!
这是最后训练出来的程序的仿真结果,依旧不正确!于是只能自己编写代码!大家可以在视频中看到本人编写代码的过程!
具体内容如下!
% 生成FM信号
int_m = cumsum(m)*T; 
% 调制信号的积分
fm_signal = cos(2*pi*fc*t + 2*pi*kf*int_m);
% FM信号

% 添加噪声
SNR = 30;            % 信噪比 (dB)
fm_signal_noise = awgn(fm_signal, SNR, 'measured'); 
% 添加高斯白噪声

%%% 锁相环参数
N = length(t);          % 信号长度
phi_hat = zeros(1, N);  % 估计相位
vco_out = zeros(1, N);  % VCO输出
error = zeros(1, N);    % 相位误差
loop_filter = 0;        % 环路滤波器状态

% 环路滤波器参数设计
index = 0.707;  % 阻尼因子
Bn = 200;       % 噪声带宽
ts = 1/Fs;      % 时间周期
wn = 2*Bn/(index+1/(4*index));
para = 4+4*index*wn*ts+(wn*ts)^2;

来源:通信工程师专辑
通信UM数控
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-02-07
最近编辑:2小时前
算法工匠
博士后 | 高级工程师 诚信做事 认真讲课 传播知识
获赞 405粉丝 2623文章 378课程 40
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈