随机信号处理计算机作业.docx
《随机信号处理计算机作业.docx》由会员分享,可在线阅读,更多相关《随机信号处理计算机作业.docx(17页珍藏版)》请在冰豆网上搜索。
随机信号处理计算机作业
计算机作业1
题目要求
设有AR
(2)模型X(n)=-0.3X(n-1)-0.5X(n-2)+W(n),W(n)是零均值正态白噪声,方差为4。
(1)用MATLAB模拟产生X(n)的500观测点的样本函数,并绘出波形;
(2)用产生的500个观测点估计X(n)的均值和方差;
(3)画出理论的功率谱;
(4)估计X(n)的相关函数和功率谱。
实验目的
通过本实验,加深对信号均值,方差,相关函数和功率谱估计的理解。
实验程序代码
(在matlab的环境下)
%%%AR
(2)模型
%%产生样本函数
wn=2.*randn(1,500);
n=1:
500;
xn
(1)=1;xn
(2)=2;
fori=3:
500
xn(i)=-0.3*xn(i-1)-0.5*xn(i-2)+wn(i);
end
figure;
plot(xn);
title('离散信号样本函数原始波形');
%%%估计x(n)的均值和方差
m_xn=mean(xn);m_xn
var_xn=var(xn);var_xn
%%%画出理论的功率谱
figure;
Rxx=xcorr(xn)/25000;
Pww=fft(Rxx);
f=(0:
length(Pww)-1)*1000/length(Pww);
plot(f,10*log10(abs(Pww)));
title('信号理论功率谱');
%%%画出估计的相关函数和功率谱
figure;
subplot(211);
R=xcorr(xn);
plot(R);
title('信号估计相关函数');
[P,w]=periodogram(xn,(hamming(500))');
subplot(212);
plot(P);
title('信号估计功率谱');
实验结果
1.离散信号原始样本函数波形
2.估计xn的均值(m_xn)和方差(var_xn)
m_xn=-0.0933
var_xn=5.7141
3.信号的理论功率谱
4.信号估计的相关函数和功率谱
计算机作业2
题目要求
1、模拟一个均匀分布的白噪声通过一个低通滤波器,观测输出信号的概率密度。
2、模拟一个瑞利分布的白噪声通过一个带通滤波器,观测输出信号的概率密度。
3、模拟一个宽带噪声通过一个窄带滤波器,观测输出信号的概率密度。
(噪声带宽和系统带宽比例可调)。
实验目的
观察不同的白噪声通过不同滤波器后的效果。
实验程序代码
(matlab环境下)
%%%%均匀分布白噪声通过低通滤波器
xn=rand(1,500);
hn=fir1(50,0.3);
[f,xi]=ksdensity(xn);
plot(xi,f);
title('均匀分布白噪声概率密度');
yn=filter(hn,[1],xn);
[t,xi]=ksdensity(yn);
figure;
plot(xi,t);
title('均匀分布白噪声通过低通滤波器后的概率密度');
%%%%瑞利分布的白噪声通过带通滤波器
xn=randn(1,500)+i*randn(1,500);
tn=abs(xn);
figure;
plot(hist(tn));
title('瑞利分布白噪声波形');
hn=fir1(50,[0.2,0.5]);
yn=filter(hn,[1],tn);
[t,xi]=ksdensity(yn);
figure;
plot(xi,t);
title('瑞利分布的白噪声通过带通滤波器后的概率密度');
实验结果
1.均匀分布白噪声通过低通滤波器
均匀分布白噪声概率密度:
均匀分布白噪声通过低通滤波器后的概率密度:
2.瑞利分布白噪声通过带通滤波器
瑞利分布白噪声的概率密度:
瑞利分布白噪声通过带通滤波器后的概率密度:
计算机作业3
题目要求
如果信号X(t)的表达式为:
1)、绘出信号及其幅度频谱曲线;
2)、当中心频率向左搬移f0=200Hz时,求出其低通等效信号,并绘出其幅度频谱、信号的同相、正交分量及包络;
3)、当中心频率向左搬移f0=100Hz时,求出其低通等效信号,并绘出其幅度频谱、信号的同相、正交分量及包络。
实验目的
了解并熟悉信号频谱搬移的概念,掌握信号幅度频谱、信号的同相、正交分量及包络。
实验程序代码:
%%第三题
clc;clear;
dt=0.001;%时间采样频谱
fmax=100/(2*pi);%信源最高频谱
fc=200;%载波中心频率
T=1;%信号时长
N=T/dt;
t=[0:
N-1]*dt;
%%1、绘出信号及其幅度频谱曲线
mt=sinc(2*pi*fmax*t);%信号源
mc=cos(2*pi*fc*t);%载波
Xt=mt.*mc;
[f,Xf]=FFT_SHIFT(t,Xt);%调制信号频谱
figure
(1);
subplot(211);
plot(t,Xt);holdon;%画出信号波形
plot(t,mt,'r--');%表示包络
title('调制信号及其包络');
subplot(212);
plot(f,abs(Xf));%对应信号的幅度频谱
title('调制信号幅度频谱曲线');
xlabel('f/Hz');
%%2、当中心频率向左搬移f0=200Hz时,求出其低通等效信号,并绘出其幅度频谱、信号的同相、正交分量及包络
fmax=100/(2*pi);%信源最高频谱
fc=0;%载波中心频率
mt=sinc(2*pi*fmax*t);%信号源
mc=cos(2*pi*fc*t);%载波
Xt=mt.*mc;
[f,Xf]=FFT_SHIFT(t,Xt);%调制信号频谱
figure
(2);
subplot(211);
plot(t,Xt);holdon;%画出信号波形
plot(t,mt,'r--');%表示包络
title('频谱向左搬移200Hz调制信号及其包络');
subplot(212);
plot(f,abs(Xf));%对应信号的幅度频谱
title('频谱向左搬移200Hz调制信号幅度频谱曲线');
xlabel('f/Hz');
%%3、当中心频率向左搬移f0=100Hz时,求出其低通等效信号,并绘出其幅度频谱、信号的同相、正交分量及包络
fmax=100/(2*pi);%信源最高频谱
fc=100;%载波中心频率
mt=sinc(2*pi*fmax*t);%信号源
mc=cos(2*pi*fc*t);%载波
Xt=mt.*mc;
[f,Xf]=FFT_SHIFT(t,Xt);%调制信号频谱
figure(3);
subplot(211);
plot(t,Xt);holdon;%画出信号波形
plot(t,mt,'r--');%表示包络
title('频谱向左搬移100Hz调制信号及其包络');
subplot(212);
plot(f,abs(Xf));%对应信号的幅度频谱
title('频谱向左搬移100Hz调制信号幅度频谱曲线');
xlabel('f/Hz');
%调用函数
function[f,sf]=FFT_SHIFT(t,st)
%ThisfunctionisFFTtocalculateasignal’sFouriertransform
%Input:
t:
samplingtime,st:
signaldata.Timelengthmustgreaterthean2
%output:
f:
samplingfrequency,sf:
frequen
%outputisthefrequencyandthesignalspectrum
dt=t
(2)-t
(1);
T=t(end);df=1/T;
N=length(t);
f=[-N/2:
N/2-1]*df;
sf=fft(st);
sf=T/N*fftshift(sf);
%---------------------------------------
1.绘出信号及其幅度频谱曲线:
以下红色线为信号包络:
分析:
可以看出,信号的中心频率为200Hz,从时域的信号可以看出,实际的信号为Sinc函数被中心频率为200Hz的载波通过调幅得到。
2.当中心频率向左搬移f0=200Hz时,求出其低通等效信号,并绘出其幅度频谱、信号的同相、正交分量及包络:
分析:
当中心频率向左搬移200Hz时,信号的中心频率为0Hz。
那么实际的信号就是原来的Sinc信号,未经任何调制。
3.当中心频率向左搬移f0=100Hz时,求出其低通等效信号,并绘出其幅度频谱、信号的同相、正交分量及包络:
分析:
中心频率向左搬移100Hz后,中心频率变为100Hz。
等效为100Hz的载波将Sinc函数进行调幅。
计算机作业4
实验要求
用Matlab产生一个频率为1Hz、功率为1的弦波信号m(t),设载波频率为10Hz,试画出:
1)、SSB调制信号;
2)、该调制信号的功率谱密度;
3)、相干解调后的信号波形。
实验目的
初步了解信号的调制解调现象。
实验程序代码:
clc;clear;
dt=0.001;%时间采样频谱
fmax=100/(2*pi);%信源最高频谱
fc=200;%载波中心频率
T=1;%信号时长
N=T/dt;
t=[0:
N-1]*dt;
%%1、绘出信号及其幅度频谱曲线
mt=sinc(2*pi*fmax*t);%信号源
mc=cos(2*pi*fc*t);%载波
Xt=mt.*mc;
[f,Xf]=FFT_SHIFT(t,Xt);%调制信号频谱
figure
(1);
subplot(211);
plot(t,Xt);holdon;%画出信号波形
plot(t,mt,'r--');%表示包络
title('调制信号及其包络');
subplot(212);
plot(f,abs(Xf));%对应信号的幅度频谱
title('调制信号幅度频谱曲线');
xlabel('f/Hz');
%%2、当中心频率向左搬移f0=200Hz时,求出其低通等效信号,并绘出其幅度频谱、信号的同相、正交分量及包络
fmax=100/(2*pi);%信源最高频谱
fc=0;%载波中心频率
mt=sinc(2*pi*fmax*t);%信号源
mc=cos(2*pi*fc*t);%载波
Xt=mt.*mc;
[f,Xf]=FFT_SHIFT(t,Xt);%调制信号频谱
figure
(2);
subplot(211);
plot(t,Xt);holdon;%画出信号波形
plot(t,mt,'r--');%表示包络
title('频谱向左搬移200Hz调制信号及其包络');
subplot(212);
plot(f,abs(Xf));%对应信号的幅度频谱
title('频谱向左搬移200Hz调制信号幅度频谱曲线');
xlabel('f/Hz');
%%3、当中心频率向左搬移f0=100Hz时,求出其低通等效信号,并绘出其幅度频谱、信号的同相、正交分量及包络
fmax=100/(2*pi);%信源最高频谱
fc=100;%载波中心频率
mt=sinc(2*pi*fmax*t);%信号源
mc=cos(2*pi*fc*t);%载波
Xt=mt.*mc;
[f,Xf]=FFT_SHIFT(t,Xt);%调制信号频谱
figure(3);
subplot(211);
plot(t,Xt);holdon;%画出信号波形
plot(t,mt,'r--');%表示包络
title('频谱向左搬移100Hz调制信号及其包络');
subplot(212);
plot(f,abs(Xf));%对应信号的幅度频谱
title('频谱向左搬移100Hz调制信号幅度频谱曲线');
xlabel('f/Hz');
function[f,sf]=FFT_SHIFT(t,st)
dt=t
(2)-t
(1);
T=t(end);df=1/T;
N=length(t);
f=[-N/2:
N/2-1]*df;
sf=fft(st);
sf=T/N*fftshift(sf);
实验结果
1.SSB调制信号:
实现方法:
(1).先产生一个频率为1Hz、功率为1的弦波信号
.
(2).通过希尔伯特变换得到SSB信号。
分析:
可以看出,单边带信号不像简单的AM调制,其时域上幅度变化不大,频域上只有中心频率左边的信号,即单边带。
2.该调制信号的功率谱密度:
3.相干解调后的信号波形:
实现方法:
首先将单边带SSB信号与原载波信号相乘,所得到的信号的两个中心频率一个为原始信号的频率,一个为2倍载频加上信号频率。
故可通过滤波的方式,将高频部分滤除,即恢复了原始信号。
首先,设计一个通带截止频率为2Hz,阻带截止频率为10Hz的巴特沃斯滤波器,滤波器特性如下:
滤波后的波形:
分析:
可以发现,滤波后的波形与原始波形一致,频域上只有一个1Hz的点频。
程序代码:
%第四题用Matlab产生一个频率为1Hz、功率为1的弦波信号m(t),设载波频率为10Hz
clc;clear;
dt=0.001;%时间采样频谱
fmax=1;%信源最高频谱
fc=10;%载波中心频率
T=5;%信号时长
N=T/dt;
t=[0:
N-1]*dt;
mt=sqrt
(2)*cos(2*pi*fmax*t);%信号源
%%1、SSB调制信号
Xt=real(hilbert(mt).*exp(j*2*pi*fc*t));
[f,Xf]=FFT_SHIFT(t,Xt);%调制信号频谱
figure
(1);
subplot(211);
plot(t,Xt);holdon;%画出信号波形
plot(t,mt,'r--');%表示包络
title('调制信号及其包络');
subplot(212);
plot(f,abs(Xf));%对应信号的幅度频谱
title('调制信号幅度频谱曲线');
xlabel('f/Hz');
%%2、该调制信号的功率谱密度
[PSD,w]=periodogram(Xt);%单边带信号功率谱
figure
(2);
plot(w/dt/pi/2,PSD);%对应信号的幅度频谱
title('调制信号功率谱密度');
xlabel('f/Hz');
%%3、相干解调后的信号波形
Xt1=real(hilbert(mt).*exp(j*2*pi*fc*t)).*cos(2*pi*fc*t);%相干解调后的信号
%[f,Xf]=FFT_SHIFT(t,Xt1);%相干解调后信号频谱
%%使用buttord滤波器
fp=2;fc=10;%通带截止频率、阻带截止频率,单位Hz
fs=1/dt;
wc=2*fc/fs;wp=2*fp/fs;%转变为数字域频率(对π归一化的)
Rp=1;%通带最大衰减,单位:
dB
Rs=60;%阻带最小衰减,单位:
dB
%计算满足性能指标的滤波器阶数n和3dB截止频率wn
[n,wn]=buttord(wp,wc,Rp,Rs);
[b,a]=butter(n,wn);
%%求解并画出数字滤波器的频率响应
figure(3);
subplot(111);
[H,w]=freqz(b,a);
db=20*log10((abs(H)+eps)/max(abs(H)));
plot(w/pi,db,'LineWidth',2);
axis([0,1,-150,5]);
xlabel('w/pai');ylabel('幅度/dB');
title('低通数字滤波器');gridon;
%%滤除高频
figure(4);
Xt2=filter(b,a,Xt1);%滤波后的信号,即恢复的信号
[f,Xf]=FFT_SHIFT(t,Xt2);%相干解调并滤波后信号频谱
%%作图
subplot(211);
plot(t,Xt2);
title('相干解调后的信号');
xlabel('t');
subplot(212);
plot(f,abs(Xf));%对应信号的幅度频谱
title('相干解调的幅度频谱曲线');
xlabel('f/Hz');