【随机信号分析】实验(十三)窄带信号分析——随机信号的DSB分析

一、实验目的

1.掌握DSB调制解调原理;

2.掌握在matlab中实现DSB调制解调的方法;

3.掌握随机信号在DSB调制解调过程中的特性变化。

二、实验设备

1.PC一台;

2.Matlab2016b;

3.双踪示波器;

4.XSRP软件无线电平台。

三、实验内容

1.在matlab中模拟一个叠加了白噪声的信号进行DSB调制解调的过程;

2.对DSB调制解调过程中各个节点的信号的特性进行比较分析;

3.对比输入输出信号的特性有何变化;

4.将在matlab中产生的信号输出到DA,通过示波器实测波形(时域和频域);

5.将在matlab中产生的信号样点数据存储为mif文件,在Quartus II中将mif文件导入到ROM然后通过DA输出到示波器实测。

四、实验原理

DSB调制原理我们已经在实验二中详细讲解过,下面介绍DSB的解调原理。解调是调制的逆过程,其作用是从接收的已调信号中恢复出原基带信号,DSB解调一般采用相干解调法,其实质与调制一样,均是频谱搬移的过程,调制是把基带信号的频谱搬移到载频的位置,而解调则是把已调信号的频谱搬移回原基带频谱的位置,因此可以用相乘器将已调信号与载波(与原载波需严格同步)相乘来实现DSB解调。

下图为DSB调制调框图:

【随机信号分析】实验(十三)窄带信号分析——随机信号的DSB分析_第1张图片

其中调制信号为叠加白噪声的1KHz正弦信号,将其通过滤波器得到带限信号。图中解调器载波为与调制载波相同基波的方波。

【随机信号分析】实验(十三)窄带信号分析——随机信号的DSB分析_第2张图片

五、实验步骤

1.Matlab仿真

1)在Matlab中新建脚本文件用于编写本实验代码;

clc
clear
close all;

%-------------------------设置信号参数------------------------
fs=30.72e3;         % 采样频率
F=1000;             % 频率
Fc=4000;            % 载波频率
N=30720;            % 采样个数,N变大,时间长度变长
dt=1/fs;            % 时间间隔,fs变大,时间间隔变短,曲线变光滑
t=0:dt:(N-1)*dt;    % 时间向量,fs变大,时间长度变短
%------------------------------------------------------------

%---------------------产生输入信号x--------------------------
% x(t)时域
n=wgn(1,N,0)/5;           % 产生高斯白噪声
x=sin(2*pi*F*t)+n;        % 获取x(t)的采样点
figure;
subplot(221)
plot(t,x);
%axis([2e-2 4e-2 -2 2]);
xlabel('时间(t)');
ylabel('幅值(V)');
title('x(t)时域');
%------------------------------------------------------------

%-------------------------x信号的分析------------------------
disp('x(t)的均值为');
En=mean(x);                         % 求x(t)均值
disp(En); 
disp('x(t)的方差为');
Dn=var(x);                          % 求x(t)方差
disp(Dn);

freq=fft(x,N);                      % 做离散傅里叶
freq_d=abs(fftshift(freq));
w=(-N/2:1:N/2-1)*fs/N;              % 双边
subplot(222);
plot(w,freq_d);
%axis([-1500 1500 0 30000]);
xlabel('频率(Hz)');
ylabel('幅值(V)');
title('x(t)幅频特性');

[c,lags]=xcorr(x,'unbiased');       % 求出自相关函数
subplot(224);
plot(lags/fs,c);                    % 在时域内画自相关函数
%axis([-0.01 0.01 -1 1]);
xlabel('T');
ylabel('Rn(T)');
title('x(t)的自相关函数');

% x(t)的功率谱密度
long=length(c);   
Sn=fft(c,long);          
labelx=(0:long-1)*2*pi;
plot_magn=10*log10(abs(Sn));
subplot(223)
plot(labelx,plot_magn);             % 画功率谱密度
%axis([0 6.3e5 -50 50]);
xlabel('w');
ylabel('Sn(w)');
title('x(t)的功率谱密度');
%------------------------------------------------------------

%--------------------------带通滤波器------------------------
[bp,ap]=butter(5,[800*2/fs,2000*2/fs]);
[hp,wp]=freqz(bp,ap);
figure;
plot(wp/pi*fs/2,abs(hp));
grid;
%axis([4e2 3e3 0 1]);
title('带通滤波器');
xlabel('频率(Hz)'); ylabel('幅度');
%------------------------------------------------------------

%------------------------产生信号Aa--------------------------
Aa=filter(bp,ap,x);
figure;
subplot(221);
plot(t,Aa);
%axis([2e-2 4e-2 -2 2]);
title('Aa(t)时域');
%------------------------------------------------------------

%-----------------------Aa信号的分析-------------------------
disp('Aa(t)的均值为');
En=mean(Aa);
disp(En);%求Aa(t)均值
disp('Aa(t)的方差为');
Dn=var(Aa);
disp(Dn);%求Aa(t)方差

freq=fft(Aa,N);%做离散傅里叶
freq_d=abs(fftshift(freq));
w=(-N/2:1:N/2-1)*fs/N; %双边
subplot(222);
plot(w,freq_d);
%axis([-1500 1500 0 30000]);
xlabel('频率(Hz)');
ylabel('幅值(V)');
title('Aa(t)幅频特性');

[c,lags]=xcorr(Aa,'unbiased');          %求出自相关序列
subplot(224);
plot(lags/fs,c);          %在时域内画自相关函数
%axis([-0.01 0.01 -1 1]);
xlabel('T');
ylabel('Rn(T)');
title('Aa(t)的自相关函数');

%x(t)的功率谱密度
long=length(c);   
Sn=fft(c,long);          
labelx=(0:long-1)*2*pi;
plot_magn=10*log10(abs(Sn));
subplot(223)
plot(labelx,plot_magn);          %画功率谱密度
%axis([0 6.3e5 -100 50]);
xlabel('w');
ylabel('Sn(w)');
title('Aa(t)的功率谱密度');
%------------------------------------------------------------

%-------------------------产生信号Ab-------------------------
Ab=Aa.*sin(2*pi*Fc*t);
figure;
subplot(221);
plot(t,Ab);
%axis([3e-2 3.5e-2 -2 2]);
title('Ab(t)时域');
%------------------------------------------------------------

%-----------------------Ab信号的分析-------------------------
disp('Ab(t)的均值为');
En=mean(Ab);
disp(En);%求Ab(t)均值
disp('Ab(t)的方差为');
Dn=var(Ab);
disp(Dn);%求Ab(t)方差

freq=fft(Ab,N);%做离散傅里叶
freq_d=abs(fftshift(freq));
w=(-N/2:1:N/2-1)*fs/N; %双边
subplot(222);
plot(w,freq_d);
%axis([-6000 6000 0 1.5e4]);
xlabel('频率(Hz)');
ylabel('幅值(V)');
title('Ab(t)幅频特性');

[c,lags]=xcorr(Ab,'unbiased');          %求出自相关序列
subplot(224);
plot(lags/fs,c);          %在时域内画自相关函数
%axis([-0.01 0.01 -1 1]);
xlabel('T');
ylabel('Rn(T)');
title('Ab(t)的自相关函数');

%Ab(t)的功率谱密度
long=length(c);   
Sn=fft(c,long);          
labelx=(0:long-1)*2*pi;
plot_magn=10*log10(abs(Sn));
subplot(223)
plot(labelx,plot_magn);          %画功率谱密度
%axis([0 6.3e5 -80 40]);
xlabel('w');
ylabel('Sn(w)');
title('Ab(t)的功率谱密度');
%------------------------------------------------------------

%-----------------------产生信号Ac---------------------------
p=square(2*pi*Fc*t);%方波
Ac=Ab.*p;
figure;
subplot(221)
plot(t,Ac);
%axis([3e-2 3.5e-2 -2 2]);
title('Ac(t)时域');
%------------------------------------------------------------

%-----------------------Ac信号的分析-------------------------
disp('Ac(t)的均值为');
En=mean(Ac);
disp(En);%求Ac(t)均值
disp('Ac(t)的方差为');
Dn=var(Ac);
disp(Dn);%求Ac(t)方差

freq=fft(Ac,N);%做离散傅里叶
freq_d=abs(fftshift(freq));
w=(-N/2:1:N/2-1)*fs/N; %双边
subplot(222);
plot(w,freq_d);
%axis([-2500 2500 0 30000]);
xlabel('频率(Hz)');
ylabel('幅值(V)');
title('Ac(t)幅频特性');

[c,lags]=xcorr(Ac,'unbiased');          %求出自相关序列
subplot(224);
plot(lags/fs,c);          %在时域内画自相关函数
%axis([-0.01 0.01 -1 1]);
xlabel('T');
ylabel('Rn(T)');
title('Ac(t)的自相关函数');

%Ac(t)的功率谱密度
long=length(c);   
Sn=fft(c,long);          
labelx=(0:long-1)*2*pi;
plot_magn=10*log10(abs(Sn));
subplot(223)
plot(labelx,plot_magn);          %画功率谱密度
%axis([0 6.3e5 -80 40]);
xlabel('w');
ylabel('Sn(w)');
title('Ac(t)的功率谱密度');
%------------------------------------------------------------

%------------------------低通滤波器--------------------------
[bp,ap]=butter(4,F*2/fs);
[hp,wp]=freqz(bp,ap);
figure;
plot(wp/pi*fs/2,abs(hp));
grid;
%axis([0 2e3 0 1]);
title('低通滤波器');
xlabel('频率(Hz)'); ylabel('幅度');
%------------------------------------------------------------

%----------------------产生输出信号y-------------------------
y=filter(bp,ap,Ac);
figure;
subplot(221)
plot(t,y); 
%axis([3e-2 3.5e-2 -2 2]);
title('y(t)时域');
%------------------------------------------------------------

%-----------------------y信号的分析--------------------------
disp('y(t)的均值为');
En=mean(y);
disp(En);%求y(t)均值
disp('y(t)的方差为');
Dn=var(y);
disp(Dn);%求y(t)方差

freq=fft(y,N);%做离散傅里叶
freq_d=abs(fftshift(freq));
w=(-N/2:1:N/2-1)*fs/N; %双边
subplot(222);
plot(w,freq_d);
%axis([-1500 1500 0 15000]);
xlabel('频率(Hz)');
ylabel('幅值(V)');
title('y(t)幅频特性');

[c,lags]=xcorr(y,'unbiased');          %求出自相关序列
subplot(224);
plot(lags/fs,c);          %在时域内画自相关函数
%axis([-0.01 0.01 -1 1]);
xlabel('T');
ylabel('Rn(T)');
title('y(t)的自相关函数');

%x(t)的功率谱密度
long=length(c);   
Sn=fft(c,long);          
labelx=(0:long-1)*2*pi;
plot_magn=10*log10(abs(Sn));
subplot(223)
plot(labelx,plot_magn);          %画功率谱密度
%axis([0 6.3e5 -120 40]);
xlabel('w');
ylabel('Sn(w)');
title('y(t)的功率谱密度');
%------------------------------------------------------------

%------------------------网络接口----------------------------
%CH1_data=x;
%CH2_data=y;
%gain_flag=1;
%divFreq=30720000/fs-1;
%dataNum=length(CH1_data);
%DA_OUT(CH1_data,CH2_data,divFreq,dataNum, gain_flag);
%------------------------------------------------------------

%--------------------------JTAG-----------------------------
CH1_data=x;
CH2_data=y;
gain_flag=1;
SaveData('.\*1.mif ', CH1_data,gain_flag);
SaveData('.\*2.mif ', CH2_data,gain_flag);
%------------------------------------------------------------

2)设置采样率为5MHz,采样点数为50K;

3)产生1KHz的正弦波信号,叠加一个白噪声,打印该波形并对其进行特性分析,产生4KHz正弦信号作为载波(均值、方差、频谱、功率谱、自相关函数);

4)将上步中产生的信号通过带通滤波器得到带限信号,其最大频率应小于载波频率,打印该带限信号并对其进行特性分析(均值、方差、频谱、功率谱、自相关函数);

5)用上步得到的带限信号进行DSB调制,得到DSB调制信号,打印其波形并分析特性(同上);

6)产生与载波同频同相的方波作为相干载波,将DSB调制信号与相干载波相乘,打印得到的输出波形并分析其特性(同上);

7)将上步的输出波形通过低通滤波器,滤波器截止频率设置为1KHz(1.3步中正弦信号频率),打印滤波器输出信号并分析其特性,将其与调制信号对比;

8)学生按实验编号或其他规则改变参数,改变调制信号频率,载波频率及信噪比大小,按以上步骤产生波形并分析不同参数下各节点信号特性。

2.软硬结合

输出到DA后在示波器实测波形。

信号通过JTAG方式下载到XSRP硬件平台

六、实验记录

实验过程中学生至少需记录以下数据并进行分析(仿真波形用截图方式记录,实测波形用拍照方式记录):

1.Matlab

【随机信号分析】实验(十三)窄带信号分析——随机信号的DSB分析_第3张图片

【随机信号分析】实验(十三)窄带信号分析——随机信号的DSB分析_第4张图片

【随机信号分析】实验(十三)窄带信号分析——随机信号的DSB分析_第5张图片

【随机信号分析】实验(十三)窄带信号分析——随机信号的DSB分析_第6张图片

【随机信号分析】实验(十三)窄带信号分析——随机信号的DSB分析_第7张图片

【随机信号分析】实验(十三)窄带信号分析——随机信号的DSB分析_第8张图片

【随机信号分析】实验(十三)窄带信号分析——随机信号的DSB分析_第9张图片

2.软硬结合

七、思考题

问:实际工程中如何产生与载波严格同步的相干载波?

答:同步原理。

你可能感兴趣的:(学习,随机信号分析)