信号处理趣学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——工程测试技术基础