单边带调幅系统的建模仿真

希尔伯特变换

实信号 x(t) 的希尔伯特变换就是将该信号中所有频率成分的信号份量移相 −π/2 而得到的新信号,记为 x^(t)\hat{x}(t)x^(t)。对于单频率正弦波信号,设 m(t) = Acos(2πft + φ),则其希尔伯特变换为

m^(t)=Acos⁡(2πft+ϕ−π2)=Asin⁡(2πft+ϕ)\hat{m}(t)=A \cos \left(2 \pi f t+\phi-\frac{\pi}{2}\right)=A \sin (2 \pi f t+\phi)m^(t)=Acos(2πft+ϕ−2π​)=Asin(2πft+ϕ)

对於任意实周期信号 x(t),可用周期傅里叶级数展开表示为

x(t)=∑n=0∞ancos⁡(2πnft+ϕn)x(t)=\sum_{n=0}^{\infty} a_{n} \cos \left(2 \pi n f t+\phi_{n}\right) x(t)=n=0∑∞​an​cos(2πnft+ϕn​)
希尔伯特变换为

x^(t)=∑n=0∞ancos⁡(2πnft+ϕn−π2)=∑n=0∞ansin⁡(2πnft+ϕn)\begin{aligned} \hat{x}(t) &=\sum_{n=0}^{\infty} a_{n} \cos \left(2 \pi n f t+\phi_{n}-\frac{\pi}{2}\right) \\ &=\sum_{n=0}^{\infty} a_{n} \sin \left(2 \pi n f t+\phi_{n}\right) \end{aligned} x^(t)​=n=0∑∞​an​cos(2πnft+ϕn​−2π​)=n=0∑∞​an​sin(2πnft+ϕn​)​
实信号 x(t) 的解析信号 y(t) 是一个复信号,其实部为信号 x(t) 本身,其虚部为 x(t) 的希尔波特变换 x^(t)\hat{x}(t)x^(t)。即

y(t)=x(t)+jx^(t)y(t)=x(t)+\mathrm{j} \hat{x}(t) y(t)=x(t)+jx^(t)

例如对x(t)=cos(t)进行希尔伯特变换的程序如下:

t = 0:0.1:25;
s = cos(t);
s_h = hilbert(s);
plot(t,real(s,h),t,imag(s_h),'k--');

单边带调幅与解调原理

设基带信号为:

m(t)=∑n=0∞ancos⁡(2πnft+ϕn)m(t)=\sum_{n=0}^{\infty} a_{n} \cos \left(2 \pi n f t+\phi_{n}\right) m(t)=n=0∑∞​an​cos(2πnft+ϕn​)

则以Acos(2pifc*t)为载波的双边带输出(DSB)信号为:

sDSB(t)=m(t)Acos⁡2πfct=Acos⁡2πfct∑n=0∞ancos⁡(2πnft+ϕn)=A2∑n=0∞ancos⁡(2π(fc+nf)t+ϕn)+A2∑n=0∞ancos⁡(2π(fc−nf)t−ϕn).\begin{aligned} s_{D S B}(t) &=m(t) A \cos 2 \pi f_{c} t \\ &=A \cos 2 \pi f_{c} t \sum_{n=0}^{\infty} a_{n} \cos \left(2 \pi n f t+\phi_{n}\right) \\ &=\frac{A}{2} \sum_{n=0}^{\infty} a_{n} \cos \left(2 \pi\left(f_{c}+n f\right) t+\phi_{n}\right)+\frac{A}{2} \sum_{n=0}^{\infty} a_{n} \cos \left(2 \pi\left(f_{c}-n f\right) t-\phi_{n}\right).\end{aligned} sDSB​(t)​=m(t)Acos2πfc​t=Acos2πfc​tn=0∑∞​an​cos(2πnft+ϕn​)=2A​n=0∑∞​an​cos(2π(fc​+nf)t+ϕn​)+2A​n=0∑∞​an​cos(2π(fc​−nf)t−ϕn​).​
上式第一项为上边带,第二项为下边带。上边带的调制输出为:

sSSB(t)=A2∑n=0∞ancos⁡(2π(fc+nf)t+ϕn)=A2∑n=0∞(ancos⁡(2πnft+ϕn)cos⁡2πfct−ansin⁡(2πnft+ϕn)sin⁡2πfct)=A2m(t)cos⁡2πfct−A2m^(t)sin⁡2πfct\begin{aligned} s_{S S B}(t) &=\frac{A}{2} \sum_{n=0}^{\infty} a_{n} \cos \left(2 \pi\left(f_{c}+n f\right) t+\phi_{n}\right) \\ &=\frac{A}{2} \sum_{n=0}^{\infty}\left(a_{n} \cos \left(2 \pi n f t+\phi_{n}\right) \cos 2 \pi f_{c} t-a_{n} \sin \left(2 \pi n f t+\phi_{n}\right) \sin 2 \pi f_{c} t\right) \\ &=\frac{A}{2} m(t) \cos 2 \pi f_{c} t-\frac{A}{2} \hat{m}(t) \sin 2 \pi f_{c} t \end{aligned} sSSB​(t)​=2A​n=0∑∞​an​cos(2π(fc​+nf)t+ϕn​)=2A​n=0∑∞​(an​cos(2πnft+ϕn​)cos2πfc​t−an​sin(2πnft+ϕn​)sin2πfc​t)=2A​m(t)cos2πfc​t−2A​m^(t)sin2πfc​t​

下边带为

sSSB(t)=A2m(t)cos⁡2πfct+A2m^(t)sin⁡2πfcts_{S S B}(t)=\frac{A}{2} m(t) \cos 2 \pi f_{c} t+\frac{A}{2} \hat{m}(t) \sin 2 \pi f_{c} t sSSB​(t)=2A​m(t)cos2πfc​t+2A​m^(t)sin2πfc​t

例题1

设基带信号为一个在 150Hz 到 400Hz 内幅度随频率逐渐递减的音频信号,载波信号为 1000Hz 的正弦波,幅度为 1。仿真采样率设为 10000Hz,仿真时间 1 秒。求 SSB 调制输出信号波形和频谱。

clear;
Fs=10000;      % 仿真的采样率
t=1/Fs:1/Fs:1; % 仿真时间点
m_t(Fs*1)=0;   % 基带信号变量初始化
for F=150:400  % 基带信号发生:频率150Hz~400Hzm_t=m_t+0.003*sin(2*pi*F*t)*(400-F); % 幅度随线性递减
end
m_t90shift=imag(hilbert(m_t)); % 基带信号的希尔伯特变换
carriercos=cos(2*pi*1000*t);   % 1000Hz载波 cos
carriersin=sin(2*pi*1000*t);   % 1000Hz正交载波 sin
s_SSB1=m_t.*carriercos-m_t90shift.*carriersin; % 上边带SSB
s_SSB2=m_t.*carriercos+m_t90shift.*carriersin; % 下边带SSB
% 下面作出各波形以及频谱
figure(1);
subplot(4,2,1); plot(t(1:100),carriercos(1:100),...
t(1:100),carriersin(1:100),'--r'); % 载波
subplot(4,2,2); plot([0:9999],abs(fft(carriercos))); % 载波频谱
axis([0 2000 -500 6000]);
subplot(4,2,3); plot(t(1:100),m_t(1:100));           % 基带信号
subplot(4,2,4); plot([0:9999],abs(fft(m_t)));        % 信号频谱axis([0 2000 -500 6000]);
subplot(4,2,5); plot(t(1:100),s_SSB1(1:100));    % SSB波形上边带
subplot(4,2,6); plot([0:9999],abs(fft(s_SSB1))); % SSB频谱上边带axis([0 2000 -500 6000]);
subplot(4,2,7); plot(t(1:100),s_SSB2(1:100));    % SSB波形下边带
subplot(4,2,8); plot([0:9999],abs(fft(s_SSB2))); % SSB频谱下边带
axis([0 2000 -500 6000]);

例题2

对例题1产生的单边带(上边带)信号进行相干解调,仿真其解调波形和幅度频谱。

clear;
Fs=10000;      % 仿真的采样率
t=1/Fs:1/Fs:1; % 仿真时间点
m_t(Fs*1)=0;   % 基带信号变量初始化
for F=150:400  % 基带信号发生:频率150Hz~400Hzm_t=m_t+0.003*sin(2*pi*F*t)*(400-F); % 幅度随线性递减
end
m_t90shift=imag(hilbert(m_t)); % 基带信号的希尔伯特变换
carriercos=cos(2*pi*1000*t);   % 1000Hz载波 cos
carriersin=sin(2*pi*1000*t);   % 1000Hz正交载波 sin
s_SSB1=m_t.*carriercos-m_t90shift.*carriersin; % 上边带SSBout=s_SSB1.*carriercos;      % 相干解调
[a,b]=butter(4, 500/(Fs/2)); % 低通滤波器设计4阶,截止频率为500Hz
demodsig=filter(a,b,out);    % 解调输出
% 下面作出各波形以及频谱
figure(1);
subplot(3,2,1); plot(t(1:100),s_SSB1(1:100));    % SSB波形
subplot(3,2,2); plot([0:9999],abs(fft(s_SSB1))); % SSB频谱axis([0 5000 -500 6000]);
subplot(3,2,3); plot(t(1:100),out(1:100));       % 相干解调波形
subplot(3,2,4); plot([0:9999],abs(fft(out)));    % 相干解调频谱axis([0 3000 -500 6000]);
subplot(3,2,5); plot(t(1:100),demodsig(1:100));   % 低通输出信号
subplot(3,2,6); plot([0:9999],abs(fft(demodsig)));% 低通输出信号的频谱axis([0 3000 -500 6000]);

例题3

设计一个单边带发信机、带通信道和相应的接收机,参数要求如下。
(1)输入话音信号为一个话音信号,采样率 8000Hz。话音输入后首先进行预滤波,预滤5.6 单边带调幅系统的建模仿真 预滤波器是一个频率范围在 [300,3400]Hz的带通滤波器。其目的是将话音频谱限制在 3400Hz 以下。单边带调制的载波频率设计为 10KHz,调制输出上边带。要求观测单边带调制前後的信号功率谱。
(2)信道是一个带限高斯噪声信道,其通带频率范围是 [10000,13500]Hz。要求能够根据信噪比 SNR 要求加入高斯噪声。
(3)接收机采用相干解调方式。为了模拟载波频率误差对解调话音音质的影响,设本地载波频率为 9.8KHz,与发信机载波频率相差 200Hz。解调滤波器设计为 300Hz 到 3400Hz 的带通滤波器。

根据题设参数,系统中信号最高频率约为 14KHz。为了较好地显示调制波形,系统仿真采样率设为 50KHz,满足取样定理。由於话音信号的采样率为 8000Hz,与系统仿真采样率不相等,因此,在进行信号处理之前,必须将话音信号的采样率提高到 50KHz,可用插值函数来完成这一任务。
首先编写程序将基带音频信号读入,进行 [300,3400]Hz 的带通滤波,并将信号采样率提高到 50KHz,进行单边带调制之后,将调制输出结果保存为 wav 文件,程序如下。

[wav,fs]=audioread('GDGvoice8000.wav');
t_end=1/fs *length(wav);  % 计算声音的时间长度
Fs=50000;                 % 仿真系统采样率
t=1/Fs:1/Fs:t_end;        % 仿真系统采样时间点
% 设计300Hz~3400Hz的带通预滤波器H(z)
[fenzi,fenmu]=butter(3,[300 3400]/(fs/2));
% 对音频信号进行预滤波
wav=filter(fenzi,fenmu,wav);
% 利用插值函数将音频信号的采样率提升为Fs=50KHz
wav=interp1([1/fs:1/fs:t_end],wav,t,'spline');
wav_hilbert=imag(hilbert(wav)); % 音频信号的希尔伯特变换
fc=10000;                       % 载波频率Hz
SSB_OUT=wav.*cos(2*pi*fc*t)-wav_hilbert.*sin(2*pi*fc*t); % 单边带调制
figure(1);                      % 观察调制前后频谱
subplot(2,2,1); plot(wav(53550:53750));     axis([0 200 -0.3 0.3]);
subplot(2,2,2); psd(wav, 10000, Fs);        axis([0 25000 -20 10]);
subplot(2,2,3); plot(SSB_OUT(53550:53750)); axis([0 200 -0.3 0.3]);
subplot(2,2,4); psd(SSB_OUT, 10000, Fs);    axis([0 25000 -20 10]);
audiowrite('SSB_OUT.wav',0.5*SSB_OUT,Fs);      % 将SSB调制输出存盘备用

音频文件下载

为了仿真指定信噪比的信道,编写信道仿真函数如下:

function out=ch5example9prog2(in, SNRdB)
% SNR_dB 设定信噪比
% in 输入信号序列
% out 信道输出序列
Fs=50000; %系统采样率
Power_of_in=var(in);
Power_of_noise=Power_of_in/(10.^(SNRdB/10));
bandwidth=13500-10000;        % 信道带宽
N0=Power_of_noise/bandwidth;  % 噪声功率谱密度值W/Hz
Gauss_noise=sqrt(N0*Fs/2).*randn(size(in));
[num, den]=butter(4, [10000 13500]/(Fs/2)); % 带通信道10KHz到13.5KHz
signal_of_filter_out=filter(num, den, in);
noise_of_filter_out=filter(num, den, Gauss_noise);
SNR_dB=10*log10(var(signal_of_filter_out)/var(noise_of_filter_out))
% 测量得出的信噪比
out=signal_of_filter_out+noise_of_filter_out; % 信道输出

利用信道仿真函数计算 SSB 调制信号通过信道后的输出结果,例如计算出信道信噪比为 20dB 时的信道输出,并将结果保存为「 Channel OUT.wav 」文件,输出仿真的实际测量信噪比为 19.7dB,与设置值相符合。

clear;
[in, Fs] = audioread("SSB_OUT.wav");
SNRdB = 20;
out = ch5example9prog2(in, SNRdB);
audiowrite("channel_out.wav",out,Fs);SNRdB = 19.6597

最后实现单边接收机:

clear;
[recvsignal, Fs]=audioread('Channel_out.wav');% 读入信道输出信号数据
t=(1/Fs:1/Fs: length(recvsignal)/Fs)';
fc_local=10000-200;                         % 本地载波频率9.8KHz
local_carrier=cos(2*pi*fc_local.*t);        % 本地载波
xianggan_out=recvsignal.*local_carrier;     % 相干解调
[fenzi,fenmu]=butter(3,[300 3400]/(Fs/2));  % 设计300Hz~3400Hz的带通滤波器
demod_out=filter(fenzi,fenmu,xianggan_out); % 对相干输出信号进行滤波
sound(demod_out/max(demod_out), Fs);        % 播放解调音频
audiowrite('SSBDemod_OUT.wav',demod_out,Fs);  % 保存输出信号

摘选的书籍:《MATLAB/Simulink通信系统建模与仿真实例分析》

matlab单边带调幅系统的建模仿真(笔记)相关推荐

  1. 常规调幅系统matlab结果,基于MATLAB的单边带调幅系统的建模仿真.doc

    基于MATLAB的单边带调幅系统的建模仿真 目 录 0 前言1 1 单边带调制与解调的基本概念2 1.1 单边带调制2 1.2 单边带解调2 1.3 希尔波特(Hilbert)变化2 2 单边带调制的 ...

  2. matlab移相法实现单边带调制,根据Matlab 单边带体系仿真研讨

    0 导言 依据通讯理论,单边带体系将功率悉数转化到了有用信息的边带,运用的带宽只要双方带调制信号的一半,具有100%理论传输功率和2倍的频带运用率,成为一种广泛运用的办法.现在,通讯设备大多选用单边带 ...

  3. matlab调幅举例,基于MATLAB的单边带调幅和解调的实现设计.doc

    基于MATLAB的单边带调幅和解调的实现设计 数字通信原理课程设计报告书 课题名称单边带调幅SSB和解调的实现设计姓 名学 号 院 系物理与电信工程系专 业通信工程指导教师 2010年 1月 15日 ...

  4. matlab 调幅频谱ifft,通原抑制载波单边带调幅.doc

    通原抑制载波单边带调幅 通信原理 课程设计论文 学院:信息工程学院 班级:通信09-2班 姓名:伍国超 学号: 抑制载波单边带调幅(SSB) 1.设计内容概述 设计目的 1. 研究模拟连续信号在SSB ...

  5. matlab与单边带系统仿真,基于Matlab 单边带系统仿真研究

    0 引言本文引用地址:http://www.eepw.com.cn/article/201809/388626.htm 根据通信理论,单边带系统将功率全部转换到了有用信息的边带,使用的带宽只有双边带调 ...

  6. matlab信号仿真模型,对Matlab单边带信号处理得到生动的仿真模型

    根据通信理论,单边带系统将功率全部转换到了有用信息的边带,使用的带宽只有双边带调制信号的一半,具有100%理论传输效率和2倍的频带利用率,成为一种广泛使用的方式.目前,通信设备大多采用单边带系统,信号 ...

  7. matlab单机带负荷系统模型,用MATLAB仿真实现电力系统静态稳定性分析

    科技情报开发与经济 SCI-TECH INFORMATION DEVELOPMENT & ECONOMY 2008 年 第 18 卷 第 34 期 1 问题的提出 电力系统静态稳定是一个相对成 ...

  8. matlab带电阻性负载仿真,基于MATLAB的带整流负载同步发电机仿真研究

    带整流负载的同步发电机系统已广泛存在于电站.舰船.飞机等独立供电系统中.对于整流系统模型的计算与仿真受到了许多学者的关注.但由于同步电机及整流桥数学模型建立和求解的复杂性,给人们的分析研究带来了一定的 ...

  9. 常规双边带调幅(AM)仿真

    一.调制原理 常规双边带调幅又叫标准调幅,简称调幅(AM).假设调制信号 m(t) 的平均值为 0,将其加上一个直流分量 A0 后与载波相乘就可以得到AM信号. 调制模型如下图所示: 二.解调原理 对 ...

最新文章

  1. 一不小心肝出了4W字的Redis面试教程
  2. Ubuntu操作系统安装之开发人员必备
  3. 日志中的秘密 Windows登录类型知多少?
  4. Google发布Android Studio 1.0
  5. mysql启动触发器_MYSQL中禁用/启动触发器
  6. IntelliJ IDEA 部署 Web 项目,终于搞懂了!
  7. linux下的磁盘空间使用
  8. Javascript实现BFS算法
  9. cocos2dx实现翻书效果。
  10. 剑指offer全书题解 (Python)【更新完毕】
  11. 绿联网卡转接mac设置_绿联外置网卡Mac os 11.0 Big Sur驱动方案来了
  12. 截止失真放大电路_音频放大器结构组成_音频放大器分类
  13. Slick.AI | 人工智能在智慧环保应用案例
  14. 关于搭建k8s集群遇到的问题与解决方法
  15. 关于WGAN的学习总结——Lipschitz约束与正则化
  16. ArcGIS栅格数据四参数七参数投影变换
  17. 自增主键的sql设置语句
  18. 计算机打印机安装步骤,打印机安装步骤
  19. 计算机视觉学习路线—计算机视觉入门必读的20本书
  20. SiamFC代码配置复现 matlab版本

热门文章

  1. ES6中数组首尾两端和中间添加/移除数据方法
  2. Linux命令之nl命令
  3. java计算机毕业设计智能快递分拣系统源码+mysql数据库+系统+部署+lw文档
  4. php对接ai图片处理,php – 使用imagick将.psd和.ai转换为PNG / JPG
  5. 三分钟教你学Git(二十七) - 修改多个commit
  6. 基于单片机控制IGBT的应用怎么实现,首先得了解IGBT是啥
  7. 家庭消耗品跟踪管理软件HomeLists
  8. Kafka消息队列学习笔记1——Kafka入门1
  9. 谈谈读书如何提升自己
  10. Creo导入电路生成的emn格式文件并编辑标注尺寸-提示不重新生成模型错误-解决