信号处理趣学D10——简单理解过调失真(附例子和代码)

过调失真(distortion)是在幅值调制的时候,先偏置再调幅(偏置调幅或叫非抑制调幅),由于直流偏置不够大引起的。下面小虎就带大家用MATLAB仿真理解一下。

仿真结果

偏置后的原始信号如下:
y 1 = s i n ( 20 π t ) + 1.3 y_1=sin(20\pi t)+1.3 y1=sin(20πt)+1.3
y 2 = s i n ( 20 π t ) + 0.5 y_2=sin(20\pi t)+0.5 y2=sin(20πt)+0.5

下面一组图中,从左到右、上到下依次是偏置后的原始信号1,2、调幅波1,2、解调波1,2的时域图像。
在这里插入图片描述

  • 直流偏置不够大时,如信号2,由于调质前的信号带有负电压,所以调幅波 x m ( t ) x_m(t) xm(t)的部分相位将发生 18 0 o 180^o 180o的偏移。
  • 调幅波的包络线不再是原始调制波的形状,采用包络检波解调将无法恢复原来的波形
  • 过调失真在本例中解调后区别不明显。

代码分析

参数设置

采样频率是44100,采样间隔1/44100。调质波为:
y = s i n ( 20 π t ) y=sin(20\pi t) y=sin(20πt)

Fs=44100;
dt=1.0/Fs;
T=1; N=T/dt;
t=[0:N-1]/N;

x1=sin(2*pi*10*t)+1.3;
x2=sin(2*pi*10*t)+0.5;

调制

subplot(2,2,1)
x4=2000*ammod(x1,400,Fs,0);
plot(t,x4);
axis([0,0.2,-5500,5500]); 

subplot(2,2,2)
x5=2000*ammod(x2,400,Fs,0);
plot(t,x5);
axis([0,0.2,-5500,5500]); 

解调

subplot(2,2,3)
x6=amdemod(x4,400,Fs,0);
plot(t,x6);
axis([0,0.2,-5500,5500]); 

subplot(2,2,4)
x7=amdemod(x5,400,Fs,0);
plot(t,x7);
axis([0,0.2,-5500,5500]); 

完整代码

Fs=44100;
dt=1.0/Fs;
T=1; N=T/dt;
t=[0:N-1]/N;

x1=sin(2*pi*10*t)+1.3;
x2=sin(2*pi*10*t)+0.7;

subplot(2,2,1)
x4=2000*ammod(x1,400,Fs,0);
plot(t,x4);
axis([0,0.2,-5500,5500]); 

subplot(2,2,2)
x5=2000*ammod(x2,400,Fs,0);
plot(t,x5);
axis([0,0.2,-5500,5500]); 

subplot(2,2,3)
x6=amdemod(x4,400,Fs,0);
plot(t,x6);
axis([0,0.2,-5500,5500]); 

subplot(2,2,4)
x7=amdemod(x5,400,Fs,0);
plot(t,x7);
axis([0,0.2,-5500,5500]); 

参考资料

[1] 张春华等,工程测试技术基础(第二版),华中科技大学出版社
[2] 何岭松等,中国大学MOOC——工程测试技术基础

更多

信号处理趣学D0——系列专栏的说明与目录

posted @ 2020-04-28 15:23  狂小虎  阅读(228)  评论(0编辑  收藏  举报