当前位置:文档之家› 随机信号处理

随机信号处理

上机练习题目(1--2)
1. 熟悉下列产生随机信号的函数(可利用matlab帮助查看该函数的使用方法):rand函数:生成均匀分布的随机数,取值从0到1。

randn函数:生成正态分布的随机数,均值为0,标准差(方差)为1。

normrnd函数:生成正态分布的随机数,均值与标准差由参数指定,函数的第一个参数是均值,第二个参数是标准差,后面的参数用于指定
生产结果的矩阵大小。

具体调用格式查看matlab帮助信息。

random函数:可以生产指定分布的随机数,调用格式查看matlab帮助信息。

2. 计算长度为N=10000的高斯随机噪声信号的均值、均方值、方差和均方差(也称标准差,即对方差开根号的值)。

提示:
(1)计算均值,可以调用mean函数。

调用方式为:
y=mean(x)
其中,x为离散随机序列,此函数返回结果为x的均值。

(2)方差调用函数为cov函数,其调用方式为:
y=cov(x)
其中,x为离散随机序列,y为其方差;当x为矩阵时,则它的每一列相当于一个变量,函数返回结果为该矩阵的列与列之间的协方差矩阵。

这时diag(cov(x))是该矩阵每一个列向量的方差,sqrt(diag(cov(x)))为标准差向量。

元素分别为矩阵每列元素的均值。

(3)标准差调用函数std,其调用格式为:
y=std(x)
y=std(x,flag)
其中,x为离散随机序列,y为其标准差,flag为控制符,用来控制计算标准差的算法。

//---------------------------------------------------------------------------------------------- N=10000; %数据长度
y=randn(1,N); %产生一个均值为0,方差为1,长度为N的随机序列
disp('平均值:');
yMean=mean(y) %计算随机序列的均值
disp('均方值:');
y2p=y*y'/N %计算其均方值,这里利用了矩阵相乘的算法
disp('均方根:');
ysq=sqrt(y2p) %计算其均方根值
disp('标准差:');
ystd=std(y,1) %计算标准差,相当于ystd=sqrt(sum((y-yMean).^2)/(N-1))
disp('方差:');
yd=ystd.*ystd
3. 求一白噪声加正弦信号以及白噪声的自相关函数,并进行分析比较。

(显示出信号及相关函数的波形)
提示:
MATLAB提供了计算离散随机序列相关函数的函数xcorr,其调用格式为:r=xcorr(x,y)
r=xcorr(x,y,’option’)
r=xcorr(x,y,maxlags,’option’)
其中,x,y为长度是N的两个独立离散随机序列,r为互相关函数的估计,’option’为控制项。

该函数也可用于求随机序列x(n)的自相关函数,调用格式为:c=xcorr(x,maxlags)。

具体可查看matlab帮助信息。

【部分参考答案】
clf;
N=1000; Fs=500; %数据长度和采样频率
n=0:N-1;
t=n/Fs; %时间序列
Lag=100; %延迟样点数
x=sin(2*pi*20*t)+0.6*randn(1,length(t)); %白噪声加正弦信号
[c,lags]=xcorr(x,Lag,'unbiased'); %估计原始信号x的无偏自相关
subplot(2,2,1),
plot(t,x);
xlabel('时间/s');
ylabel('x(t)');
title('带噪声周期信号');
grid on;
subplot(2,2,2),
plot(lags/Fs,c); %绘x信号的自相关,lags/Fs为时间序列
xlabel('时间/s');
ylabel('Rx(t)');
title('带噪声周期信号的自相关');
grid on;
x1=randn(1,length(x)); %产生一与x长度一致的随机信号x1
[c,lags]=xcorr(x1,Lag,'unbiased'); %求随机信号x1的无偏自相关
subplot(2,2,3),
plot(t,x1); %绘制随机信号x1
xlabel('时间/s');
ylabel('x1(t)');
title('噪声信号');
grid on;
subplot(2,2,4);
plot(lags/Fs,c); %绘制随机信号x1的无偏自相关
xlabel('时间/s');
ylabel('Rx1(t)');
title('噪声信号的自相关');
grid on
4. 已知两个周期信号)2sin()(ft t x π=,)602sin(2.0)(0+=ft t y π,其中f=20Hz ,求互相关函数)(τxy R ,并将这2个周期信号以及互相关的图形显示出来。

【部分参考答案】
%Samp9_4
clf;
N=1000; Fs=500; %数据长度和采样频率
n=0:N-1;t=n/Fs; %时间序列
Lag=200; %最大延迟单位
x=sin(2*pi*20*t); %周期信号x
y=0.2*sin(2*pi*20*t+60*pi/180); %与x 有90o 相移的信号y
[c,lags]=xcorr(x,y,Lag,'unbiased'); %求无偏互相关
subplot(2,1,1);plot(t,x,'r'); %绘制x 信号
hold on;plot(t,y,':'); %在同一幅图中绘y 信号
legend('x 信号', 'y 信号')
xlabel('时间/s');ylabel('x(t) y(t)');
title('原始信号');grid on;
hold off
subplot(2,1,2),plot(lags/Fs,c,'r'); %绘制x,y 的互相关
xlabel('时间/s');ylabel('Rxy(t)');
title('信号x 和y 的相关');grid on
5. 在某音乐厅内,原始音频信号的回音由于墙壁和天花板等的反射而产生,听众所感受到的音频信号是x(n)和它的回音的合成。


y(n)=x(n)+ax(n-k)
其中,),6.0cos(5.0)3.0cos()(n n n x ππ+=a=0.1,k=50。

产生100个样本,求出其自相关,从中观测确定a 和k 。

//-------------------------------------------------------------------------------------------------- 第5题clear all
clc
figure(1)。

相关主题