我是靠谱客的博主 长情画笔,这篇文章主要介绍常规双边带调幅(AM)仿真,现在分享给大家,希望可以做个参考。

一、调制原理
常规双边带调幅又叫标准调幅,简称调幅(AM)。假设调制信号 m(t) 的平均值为 0,将其加上一个直流分量 A0 后与载波相乘就可以得到AM信号。
调制模型如下图所示:在这里插入图片描述
二、解调原理
对于AM信号来说,使用两种解调方式:相干解调和非相干解调均可。在通常情况下,因为其包络与调制信号 m(t)的形状、波形起伏完全一致。故可以使用实现较为简便的包络检波法来恢复原信号。
包络检波器如下图所示:
在这里插入图片描述
其中,利用的原理分别是二极管的单向导通性、电容的高频旁路特性和电容的隔直特性。

三、仿真程序
调制部分:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
clear all clc; close all; dt = 0.001; %时间采样频率 fm = 1; %信源最高频率 fc = 10; %载波中心频率 t = 0:dt:5-dt; %时间向量 fs = 1/dt; %抽样频率 df = fs/length(t); % fft的频率分辨率 msg = sqrt(2)*cos(2*pi*fm*t); %模拟消息信号 A = 2; %直流分量 sig_AM_modu = (A+msg).*cos(2*pi*fc*t); %AM信号 B = 2*fm; subplot(3,1,1) plot(t,msg,'b'); %画出消息信号 xlabel('时间/s');ylabel('幅度/V'); title('模拟消息信号') subplot(3,1,2) plot(t,sig_AM_modu,'g');hold on; %画出AM信号 plot(t,A+msg,'r--'); %画出包络 xlabel('时间/s');ylabel('幅度/V'); title('AM调制信号及其包络')

解调部分:

复制代码
1
2
3
4
5
6
demodu_sig = abs(hilbert(sig_AM_modu))-A; %包络检波,并且去掉直流分量。 subplot(3,1,3) plot(t,demodu_sig,'b') %画出解调后的信号 xlabel('时间/s');ylabel('幅度/V');grid on; title('AM解调信号')

频域:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
subplot(2,1,1) Pm=fft(msg)/fs; %求消息信号的频谱 f=-fs/2:df:fs/2-df; plot(f,fftshift(abs(Pm)),'r') %画出消息信号频谱 title('发送信号频谱'); xlim([-20 20]);ylim([0 8]) xlabel('频率/Hz');ylabel('幅度/V');grid on; subplot(2,1,2) Pam=fft(sig_AM_modu)/fs; %已调信号频谱 plot(f,fftshift(abs(Pam)),'g') %画出已调信号频谱 title('AM调制信号频谱'); xlim([-20 20]) xlabel('频率/Hz');ylabel('幅度/V');grid on;

过调幅情况:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
msg_1 = 3*cos(2*pi*fm*t); %改变调幅系数,令其大于1 A = 2; s_am_1 = (A+msg_1).*cos(2*pi*fc*t); B = 2*fm; subplot(2,1,1) plot(t,s_am_1,'g');hold on; plot(t,A+msg_1,'r--'); xlabel('时间/s');ylabel('幅度/V');grid on; title('AM调制信号及其包络') demodu_sig_1 = abs(hilbert(s_am_1))-A; %包络检波,并且去掉直流分量。 subplot(2,1,2) plot(t,demodu_sig_1,'b');hold on; %画出解调后的信号 plot(t,msg_1,'r--','linewidth',2) xlabel('时间/s');ylabel('幅度/V');grid on; title('过调幅时的解调信号与原信号')

加噪

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SNR = 0:10:30; %信噪比依次赋值0 10 20 30 for ii = 1:length(SNR) recv_sig = awgn(sig_AM_modu,SNR(ii),'measured'); %调制信号通过AWGN信道 demodu_sig_noisy = abs(hilbert(recv_sig))-A; %包络检波,并且去掉直流分量。 subplot(4,1,4) plot(t,demodu_sig_noisy,'k') xlabel('时间/s');ylabel('幅度/V');grid on; title(strcat('信噪比为',num2str(SNR(ii)),'dB时的AM解调信号')) str = {'r','g','b','k'}; subplot(length(SNR),1,ii) plot(t,demodu_sig_noisy,str{ii}) %画出加噪解调波形 xlabel('时间/s');ylabel('幅度/V');grid on; title(strcat('信噪比为',num2str(SNR(ii)),'dB时的AM解调信号')) end

四、仿真结果
时域:
在这里插入图片描述
频域:
在这里插入图片描述
过调幅:
在这里插入图片描述
加噪:在这里插入图片描述

最后

以上就是长情画笔最近收集整理的关于常规双边带调幅(AM)仿真的全部内容,更多相关常规双边带调幅(AM)仿真内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(96)

评论列表共有 0 条评论

立即
投稿
返回
顶部