【通信原理(含matlab程序)】实验二:FM的调制和解调

💥💥💞💞欢迎来到本博客❤️❤️💥💥
本人持续分享更多关于电子通信专业内容以及嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步~

一、实验目的

  1. 理解FM基本原理、FM信号时域和频域主要特点;
  2. 理解FM信号调制和解调的实现方法;
  3. 掌握matlab程序的设计方法。

二、实验内容

设输入信号是一个频率1Hz、功率为1的余弦信源,,设载波频率10 Hz,调频器的压控振荡系数为5Hz/V,载波平均功率为1W,试画出
(1)FM信号的波形;
(2)FM信号的振幅谱;
(3)用鉴频器解调后的信号波形,并与输入信号比较。

三、实验原理

1. FM基本原理、FM信号时域和频域主要特点
①FM
频率调制(FM),是指瞬时频率偏移随调制信号m(t)成比例变化,即

式子中:Kf为调频灵敏度。调频信号表达式为:
②FM信号的时域特点
FM信号时域的主要特点是:其频率随调制信号振幅的变化而变化,而它的幅度却始终保持不变。当调制信号的幅度为零时,调频波的频率称为中心频率ω0。当用一完整的调制信号(即调制信号的幅度作正负变化)对高频载波进行调频时,调频波的频率就围绕着ω0而随调制电压线性地改变。当调制信号向正的方向增大时,调频波的频率就高于中心频率;反之,当调制信号向着负的方向变化时,调频波的频率就低于中心频率。
2.FM信号的调制
①直接法
在这里插入图片描述
调制电压直接控制压控振荡器( VCO)的频率,产生FM信号。
本次实验也是通过直接S法来进行FM调制。
②间接法
在这里插入图片描述
原理:先将调制信号积分,然后对载波进行调相,即可产生一个窄带调频信号,再经过n次倍频,就可以得到宽带调频信号。
3.FM解调
①非相干解调法
在这里插入图片描述
图中,微分电路和包络检波器构成了具有近似理想鉴频特性的鉴频器。限幅器的作用是消除信道中噪声等引起的调频波的幅度起伏。
微分器的作用是把幅度恒定的调频波变成幅度和频率都随调制信号m(t)变化的调幅调频波。
②相干解调法
仅适用于NBFM信号,由于NBFM信号可分解成同相分量和正交分量之和,因而可以采用线性调制中的相干解调法来进行解调

四、实验程序

fs = 1000;  % 采样频率  S  
dt = 1/fs; %采样间隔
t = 0 : dt : 3;
fc = 10;    % 载波频率
fm 
### MATLABFM 信号的相干解调非相干解调 #### 相干解调MATLAB中,对于FM信号的相干解调主要依赖于锁相环(PLL)或其他同步机制来恢复载波频率。这种方法通常较为复杂,因为需要精确跟踪输入信号中的瞬时频率变化。 下面是一个简单的基于希尔伯特变换的相干解调例子: ```matlab % 参数设定 Fs = 1e6; % 采样率 Fc = 100e3; % 载波频率 Fm = 5e3; % 消息信号频率 kf = 2 * pi * Fm / Fs; time = 0:1/Fs:0.1; % 构建消息信号与已调制信号 message_signal = cos(2*pi*Fm*time); modulated_signal = cos(2*pi*Fc*time + kf*cumsum(message_signal)); % 使用hilbert函数获取解析信号并计算其相位角 analytic_signal = hilbert(modulated_signal); phase_angle = unwrap(angle(analytic_signal)); % 计算瞬时频率作为解调后的输出 instantaneous_frequency = diff(phase_angle)/(2*pi)*(Fs/(length(time)-1)); demodulated_signal = instantaneous_frequency-mean(instantaneous_frequency)+mean(message_signal); figure; subplot(2,1,1),plot(time,message_signal,'r'),title('Original Message Signal'); subplot(2,1,2),plot(time(2:end),demodulated_signal,'g'),title('Demodulated Signal using Coherent Detection'); ``` 此代码片段展示了通过Hilbert变换得到解析信号后提取相位信息再转换成瞬时频率从而实现相干检测的过程[^1]。 #### 非相干解调 相比之下,非相干解调不需要重建原始载波即可工作。最常用的方法之一是过零检测法或鉴频器方法,在这里采用的是后者——即直接测量相邻样本间角度差的变化速率来进行解调操作。 以下是使用`diff()`配合反正切运算完成非相干解调的一个实例: ```matlab % 继续沿用上面定义好的变量... % 对已调制信号应用arctan()求得相位差异 phi_diff = diff(atan2(imag(hilbert(modulated_signal)), real(hilbert(modulated_signal)))); % 将相位差转化为线性比例表示形式 frequency_deviation = phi_diff ./ (2*pi*(1:length(phi_diff))/Fs); % 平滑处理去除高频分量影响 smoothed_fd = smooth(frequency_deviation, 'moving', 5); % 展示结果对比图 figure; subplot(2,1,1),plot(time,message_signal,'r'),title('Original Message Signal'); subplot(2,1,2),plot(time(2:end),smoothed_fd,'b'),title('Demodulated Signal using Non-Coherent Detection'); ``` 上述程序先通过对复数表达式的反余弦获得两者的相对夹角,接着将其映射回实际物理意义下的频率偏移量,并经过简单滤波以减少噪声干扰的影响[^2]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

おもいね

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值