随机信号处理
实验报告
目录
一、实验要求: ........................................................................................................ 3 二、实验原理: ........................................................................................................ 3
2.1 随机信号的分析方法 . ................................................................................... 3 2.2 随机过程的频谱 . .......................................................................................... 3 2.3 随机过程的相关函数和功率谱 . ..................................................................... 4
(1)随机信号的相关函数: . ...................................................................... 4 (2)随机信号的功率谱 . ............................................................................. 4
三、实验步骤与分析 ................................................................................................. 5
3.1 实验方案..................................................................................................... 5 3.2 实验步骤与分析 .......................................................................................... 5
任务一:(s1 变量)求噪声下正弦信号的振幅和频率 .................................. 5 任务二:(s1 变量)求噪声下正弦信号的相位............................................. 8 任务三:(s1 变量)求信号自相关函数和功率谱 ........................................11 任务四:(s 变量)求噪声下信号的振幅和频率 . ......................................... 14 任务五:(s 变量)求信号的自相关函数和功率谱 ...................................... 17 3.3 实验结果与误差分析 ................................................................................. 19
(1)实验结果 . ......................................................................................... 19 (2)结果验证 . ......................................................................................... 19 (3)误差分析 . ......................................................................................... 21
四、实验总结和感悟 ............................................................................................... 22
1、实验总结 .................................................................................................... 22 2、实验感悟 .................................................................................................... 23 五、附低通滤波器的Matlab 程序 ............................................................................ 23
一、实验要求:
(学号末尾3,7)两个数据文件,第一个文件数据中只包含一个正弦波,通过MA TLAB 仿真计算信号频谱和功率谱来估计该信号的幅度,功率,频率和相位?对第二个文件数据估计其中正弦波的幅度,功率和频率?写出报告,包含理论分析,仿真程序及说明,误差精度分析等。第一文件调用格式load FileDat01_1 s1,数据在变量s1中;第二文件调用格式load FileDat01_2 s,数据在变量s 中。
二、实验原理:
2.1 随机信号的分析方法
在信号与系统中,我们把信号分为确知信号和随机信号。其中随机信号无确定的变化规律,需要用统计特新进行分析。这里我们引入随机过程的概念,所谓随机过程就是随机变量的集合,每个随机变量都是随机过程的一个取样序列。
随机过程的统计特性一般采用随机过程的分布函数和概率密度来描述,他们能够对随机过程作完整的描述。但由于在实践中难以求得,在工程技术中,一般采用描述随机过程的主要平均统计特性的几个函数,包括均值、方差、相关函数、频谱及功率谱密度等来描述它们。
2.2 随机过程的频谱
信号频谱分析是采用傅立叶变换将时域信号x(t)变换为频域信号X(f),从而帮助人们从另一个角度来了解信号的特征。时域信号x(t)的傅氏变换为:
X
(f )=⎰-∞x (t )e -j 2πft dt
+∞
信号的时域描述只能反映信号的幅值随时间的变化情况,除只有一个频率分量的简谐波外, 一般很难明确揭示信号的频率组成和各频率分量的大小。信号的频谱X(f)代表了信号在不同频率分量处信号成分的大小,它能够提供比时域信号波形更直观,丰富的信息。
在实际的控制系统中能够得到的是连续信号x(t)的离散采样值x(nT),因此需要利用离散信号x(nT)来计算信号x(t)的频谱。
有限长离散信号x(n),n=0,1,…,N-1的DFT 定义为:
N -1
X (k )=
∑
n =0
x (n )W N
kn
其中k
=0,1, 2....... N -1, W N =e
-j
2πN
2.3 随机过程的相关函数和功率谱
(1)随机信号的相关函数:
信号的相关性是指客观事物变化量之间的相依关系。对于平稳随机过程X(t)和Y(t)在两个不同时刻t 和t+τ的起伏值的关联程度,可以用相关函数表示。在离散情况下,信号x(n)和y(n)的相关函数定义为:
N -1N -1
R xy (t , τ) =
∑∑x (t ) y (t +τ) /N τ
τ=0
t
,t=0,1,2, „„N-1
随机信号的自相关函数表示波形自身不同时刻的相似程度。与波形分析、频谱分析相比,它具有能够在强噪声干扰情况下准确地识别信号周期的特点。一般来说,信号与噪声在时域内有明显不同,信号前后是有关联的,存在相关性;而噪声在不同时刻基本上不存在关联,即不存在相关性.利用这种相关性原理,已成为从强噪声中提取弱信号的重要手段。这种技术的理论基础是信息论和随机过程理论,这种检测方法被称为相关检测。 (2)随机信号的功率谱
随机信号的功率谱密度是随机信号的各个样本在单位频带内的频谱分量消耗在一欧姆电阻上的平均功率之统计均值,是从频域描述随机信号的平均统计参量,表示X(t)的平均功率在频域上的分布。它只反映随机信号的振幅信息,而没有反映相位信息。随机过程的功率谱密度为:
G (x ) =E [lim
|X Ti (ω) |
2T
2
] -∞<ω<+∞
T →∞
随机信号的平均功率就是随机信号的均方值,功率谱密度曲线下的总面积(即随机信号的全部功率)等于随机信号的均方值。随机信号的功率谱与它的自相关函数构成一对傅里叶变换对。
三、 实验步骤与分析
本实验利用Matlab 软件编程来实现数据文件中波形的仿真与分析,最后通过滤波器还原正弦信号,与结果进行比较。
3.1 实验方案
3.2 实验步骤与分析
任务一:(s1 变量)求噪声下正弦信号的振幅和频率 (1)原理:
采用傅立叶变换将时域信号x(t)变换为频域信号X(f),并作出幅频曲线进行分析,离散信号x(n),n=0,1,…,N-1的DFT 公式如下:
N -1
X (k )=
∑
n =0
x (n )W N
kn
-j 2πN
其中k
=0,1, 2....... N -1, W N =e
在Matlab 的编程实现时,运用的是快速算法傅里叶算法FFT ,它是DFT 的快速算法。因为给定的数据文件中采样点数N=4096,所以取采样频率fs=4096Hz。
(2)Matlab 仿真结果及分析
图1 随机信号的时域图形
图2 随机信号的频域图形
由时域图形可知,正弦信号被噪声“淹没”了,所以时域上看不出任何信号的特征,进行傅里叶变换,频域特征如图2所示。
已知采样频率fs=4096Hz,所以Nyquist 频率为fs/2=2048Hz,傅里叶变换的数据具有对称性,整个频谱以Nyquist 频率为对称轴,所以频谱分析的时候只要截取0~2048Hz范围内的频谱进行分析。
由频谱曲线可知,信号在82Hz 处有一个峰值,大小为4021,所以可以得出: 信号频率:
信号绝对幅度:
f =82Hz
2N
A =4021⨯
=
1.96
(3)附Matlab 程序及说明
clc; clear all; close all;
%清空
%清除所有变量 %关闭所有窗口
load('C:\Users\caolili\Desktop\FileDat01_1.mat') fs=4096; N=4096; n=0:N-1; t=n/fs; subplot(211); plot (n,s1);
%采样时间间隔 %两行一列第一幅图 %画出时域波形
%设定采样频率 %采样点数
xlabel('时间t(1/4096s)'); ylabel('信号s1'); title('原信号时域波形'); grid;
%进行FFT 变换并做频谱图
y=fft(s1,N); mag=abs(y);
%进行fft 变换 %求幅值
%进行对应的频率转换 %两行一列第二幅图 %作频谱图
f=(0:length(y)-1)'*fs/length(y); subplot(212); plot(f,mag); xlabel('频率(Hz)'); ylabel('幅值');
title('信号的幅频谱图N=4096'); grid;
任务二:(s1 变量)求噪声下正弦信号的相位 (1)原理
设观测数据为:
x (n ) =A cos(2πf 0n +φ) +w (n ), n =0, 1, 2,... ,N -1
式中,w (n )为已知方差σ的高斯白噪声,正弦信号的幅度A 和频率f 0为已知。一种估计φ的估计量为
2
⎧⎡N -1
φ=-Im ⎨ln ⎢∑x (n ) cos(2πf 0n ) +j
⎩⎣n =0
∧
N -1
∑
n =0
⎤⎫
x (n ) sin(2πf 0n ) ⎥⎬
⎦⎭
定义信噪比为SNR =
A
22
2σ
。由上面已经求的信号幅度A=1.96,f=82Hz,N=4096。
1产生服从特定概率分布的观测数据x (n ); ○
2利用估计算法计算估计量φ; ○
3上述过程重复M 次,产生M 个φ的实现 ○4利用μ○
∧
∧
∧
∧
=
1
M ∧
θ
M
1
∑θi 确定估计量的均值。
i =1
∧
5利用σ○
M ∧∧
2
∧
=
θ
M
∑(θ-
i =1
μθ) 确定估计量的方差。
∧
2
6利用直方图来确定○
PDF :首先计算落入某指定区间的次数,然后再除以总的实现次
数得到概率,再除以区间长度得到PDF 估计。
(2)Matlab 仿真结果及分析
根据利用matlab 仿真得到的PDF 估计如图3所示。
图3 随机信号的相位的统计特性
由上面的仿真结果可知初相位约在0时具有最大概率,所以:
θ=0
(3)附Matlab 程序及说明
clc; clear all; close all;
%清空
%清除所有变量 %关闭所有窗口
load('C:\Users\caolili\Desktop\FileDat01_1.mat') N=4096;
A=1.96; f=82; n=0:N-1; s0=300; for m=1:s0 y1=0;
%A为正弦信号幅值,f 为其频率
%设置循环次数
任务三:(s1 变量)求信号自相关函数和功率谱 (1)原理:
对于噪声中信号的功率谱分析,有传统方法和现代建模方式。本次实验中主要采用传统谱估计的自相关法,又称为间接法或BT 法。具体步骤是先由x N (n ) 估计出自相关函数
ˆ(w ) ,并以此作为对ˆ(m ) ,然后对r ˆ(m ) 求傅里叶变换得到x N (n ) 的功率谱,记之为P r BT
P (w ) 的估计,即
M
ˆ(w ) =P BT
(2)Matlab 仿真结果及分析
∑ˆ(m ) e -jwm , M ≤N -1。 r
m =-M
在Matlab 中主要用C (Xn) = xcorr(xn,'unbiased')函数来计算Xn 的自相关函数,然后对其进行傅里叶变换,便得到它的功率谱。
图4 随机信号的自相关函数
图4 随机信号的功率谱
原信号在时域上时被噪声淹没,经过自相关后可以看出信号为正弦信号,并且由自相关函数图象可知:
混合信号的平均功率:
E [X (n )]=R (0)=2.934
正弦信号的平均功率:
2
P =lim
T →∞
⎰
T -T
A cos
22
(w 0t +θ)dt =
A
2
2
=1.92
在功率谱图像上,极值点坐标为(82,27.72),正好对应正弦信号的频率为82Hz ,与上面的频谱分析一致。对功率谱密度曲线积分也可求出信号的平均功率。
(3)附Matlab 程序及说明
%自相关函数 clc;
%清空
%清除所有变量 %关闭所有窗口
clear all; close all;
load('C:\Users\caolili\Desktop\FileDat01_1.mat') fs=4096; N=4096; n=0:N-1; t=n/fs; Lag=300;
%延迟样点数
%对原始信号进行无偏自相关估计
%设定采样频率 %采样点数
[c,lags]=xcorr(s1,Lag,'unbiased'); subplot(1,2,1); plot(n,s1);
%绘制原信号的时域波形
xlabel('时间t(1/4096s)'); ylabel('信号s1');
title('带噪声的信号波形'); grid on; subplot(1,2,2); plot(lags/fs,c); xlabel('时间t'); ylabel('Rx(t)');
title('带噪声的信号自相关函数'); grid on;
%绘制自相关函数图象
%功率谱
%清空
%清除所有变量 %关闭所有窗口
clc; clear all; close all;
load('C:\Users\caolili\Desktop\FileDat01_1.mat') fs=4096;
%设定采样频率 %采样点数
N=4096; n=0:N-1; t=n/fs; Lag=300;
%延迟样点数
%求信号的自相关函数 %对自相关函数做FFT 变换
[c,lags]=xcorr(s1,Lag,'unbiased');
fy=fft(c,N); t1=0:round(N/2-1); a=t1*fs/N;
P=10*log10(fy(t1+1)); figure(gcf);
%纵坐标为相对功率谱密度,单位dB/Hz
plot(a,P);
任务四:(s 变量)求噪声下信号的振幅和频率 (1)原理:
同“任务一”的原理相同
ylabel('功率谱密度dBw/Hz'); title('信号的功率谱'); grid;
(2)Matlab 仿真结果及分析
图5 随机信号的时域波形(s 变量)
图6 随机信号的频谱(s 变量)
对于频谱图的局部放大如下图所示:
图7 随机信号的局部放大的频谱(s 变量)
由频域分析可以发现,信号的频谱图上有两个峰值,由Matlab 计算得两个极点分别为:
(82,4053) (86,8150)
所以信号由两个频率相近的正弦信号组成,根据图形分析,有用信号应该是两个正弦信号相加,形如:
⎛⎛n ⎫n ⎫
S (n )=A 1sin 2πf 1⨯⎪+A 2cos 2πf 2⨯⎪
f f s ⎭s ⎭⎝⎝
根据“任务一”的计算方式,可以得出: 有用信号的频率:
f 1=82H z
f 2=86H z
有用信号的绝对振幅:
A 1=4053⨯
A 2=8153⨯
2N
2N
=1.98
=3.98
对于此处采样点数N 和采样频率fs 的确定要满足频率分辨率的要求,即:
∆f =f 1-f 2=
f m ax -f m in
N
所以,要能有效的区分频率轴上的两个频率点f1和f2,有效数据长度必须满足以下关系式:
2f s N
所以此处取采样频率f s =4096H z ,采样点数N =4096,满足要求。 (3)附Matlab 程序及说明
此处的Matlab 程序设计与“任务一”的类似,只是变量调用时改变为S ,具体参考“任务一”的Matlab 程序及说明,此处不赘述。
任务五:(s 变量)求信号的自相关函数和功率谱 (1)原理:
同“任务三”的原理相同 (2)Matlab 仿真结果及分析
在Matlab 中主要用C (Xn) = xcorr(xn,'unbiased')函数来计算Xn 的自相关函数,然后对其进行傅里叶变换,便得到它的功率谱。
图8 随机信号的自相关函数图象(s 变量)
原信号在时域上时被噪声淹没,经过自相关后可以看出信号为正弦信号,并且由自相关函数图象可知:
混合信号的平均功率:
E [X (n )]=R x (0)=10.89
两个正弦信号的平均功率:
2
P =lim
2
T →∞
⎰
T -T
⎡A 12cos 2(w 1t +θ1)+A 22sin 2(w 2t +θ2)⎤dt ⎣⎦
2
=
A 1+A 2
2
=9.88
也可以通过对功率谱密度曲线积分求出信号的平均功率,其图象如下所示:
图9 随机信号的功率谱密度(s 变量)
(3)附Matlab 程序及说明
此处的Matlab 程序设计与“任务三”的类似,只是变量调用时改变为S ,具体参考“任务三”的Matlab 程序及说明,此处不赘述。
3.3 实验结果与误差分析
(1)实验结果
分析可知,对于给定的两个数据文件,第一个文件数据s1只包含一个正弦波,第二个文件数据s 是两个频率相近的正弦信号相加。
实验结果如下(采样频率为4096,采样点数为4096):
1 S1中正弦波频率为82Hz ,振幅为1.96,初相位为0,正弦信号的平均功率为1.92W ,○
混合信号的平均功率为2.93W ,所以噪声功率为1.01W ;
n ⎫⎛
⎪, n=0,1,2…4096 信号表达式为:S 1(n )=1.96sin 2π⨯82⨯
4096⎝⎭
2 S 中两个正弦波频率分别为82Hz 和86Hz ,振幅分别为1.98和3.98,正弦信号的○
平均功率为9.88W ,混合信号的平均功率为10.89W ,所以噪声功率为1.01W ;
信号表达式为:(n=0,1,2…4096)
n ⎛
S (n )=1.98sin 2π⨯82⨯
4096⎝
(2)结果验证
n ⎫⎫⎛
+3.98cos 2π⨯86⨯⎪ ⎪
4096⎭⎭⎝
由频谱分析可知,有用信号都是低频信号,所以可以通过一个低通滤波器把噪声滤掉,从而得出有用信号。
调用matlab 中的buttord 低通滤波器,混合信号通过次低通滤波器后得如下图10,图13波形,可见高频噪声已被滤除,但波形不规则,现在进行如下改善。
将原信号直接两重自相关,大幅度的提高信噪,然后再通过低通滤波器,得到的信号效果比较好,如下图11所示。
再通过求出的信号表达式:
n ⎫⎛
S 1(n )=1.96sin 2π⨯82⨯⎪
4096⎭⎝
n ⎫n ⎫⎛⎛
S (n )=1.98sin 2π⨯82⨯⎪+3.98cos 2π⨯86⨯⎪
40964096⎝⎭⎝⎭
作出波形,如图12,图14所示,三者相比较发现求出的波形具有较好的符合度。
图10混合信号通过低通滤波(s1变量)
图11原波形两次自相关后滤波波形(s1变量)
图12计算出的信号表达式仿真(s1变量)
n ⎫⎛
S 1(n )=1.96sin 2π⨯82⨯⎪
4096⎭⎝
图13混合信号通过低通滤波(s 变量)
图14计算出的信号表达式仿真(s 变量)
n ⎛S (n )=1.98sin 2π⨯82⨯4096⎝
(3)误差分析 n ⎫⎫⎛+3.98cos 2π⨯86⨯⎪ ⎪ 4096⎭⎭⎝
在本试验中信号中混入的是高斯白噪声,它是一个均值为零的随机过程,任一时刻是均值为零的随机变量。如图15所示为高斯白噪声的波形及其自相关函数波形:
可以看出,高斯白噪声具有随机性及不相关(其自相关函数在t=0处为一冲激,即为该随机过程的平均功率),所以主要的误差是由噪声带入的。在用Matlab 做信号仿真时,采样频率和采样点数的选择也会带来误差,主要有混叠误差和失真误差,所以在经过低通滤波器还原信号的时候,波形不太规则。此外,在估计信号相位时,运用的是概率知识,根据概率的大小判定相位,本身就会带来误差。
21
图15高斯白噪声及其自相关函数
四、实验总结和感悟
1、实验总结
在随机信号分析中,我们要对信号进行各方面的分析,例如:均值、均方值、方差、自(互)相关函数、频谱、平均功率谱密度等等。
(1)频谱函数与功率谱函数意义的区别:
在确定性信号的分析中,我们可以利用傅立叶变换得到原信号的频谱函数,从而可以确定该信号时域与频域的关系,反映信号能量在不同频率上的分量。因此我们可以利用频谱函数对信号的能量进行求解,即帕斯瓦尔等式的应用。
但是如果平稳过程的非零样本函数持续时间为无限长,则它不满足绝对可积与总能量有限的条件,所以其傅立叶变换不存在。但是平稳过程的样本函数的功率通常存在而且有限,因此为了研究信号的能量分布,我们可以去研究信号的平均功率。
(2)自相关函数在t=0出有一冲激
自相关函数在t=0的冲激为自相关函数程的平均功率。
22 在时大小,即;为随机过
2、实验感悟
通过此次随机信号分析实验,让我受益匪浅。
(1)本次实验中信号的产生提取均用MA TLAB 实现。由此,让我们学习到了MA TLAB 在信号分析及处理中的运用,同时也让我们认识到了MA TLAB 的实用性与重要性。
(2)在对随机过程信号的分析过程中,让我们了解到了随机信号分析理论在实践中的运用,加深了对随机信号各个方面知识的理解。
(3)在进行微弱信号的提取过程中,了解了多种信号提取的方法,同时学会了多重自相关提取强噪声下微弱信号的方法。
总之,此次实验增强了我们信号分析及处理的能力,为理论课的学习与理解打下了坚实的基础。
五、附低通滤波器的Matlab 程序 load('C:\Users\caolili\Desktop\FileDat01_1.mat')
X1=xcorr(s1,'unbiased') %混合信号两次自相关
X1=xcorr(X1,'unbiased')
[n,Wn]=buttord(30/500,45/500,3,10);
[k,l] = butter(n,Wn); %低通滤波器
Y=filter(k,l,s1); %混合信号通过低通滤波器
Y1=filter(k,l,X1) %原信号两次自相关通过低通滤波器提取信号 subplot(2,1,1);
plot(Y); %绘制原信号通过低通滤波器波形
axis([0,2000,-3,3]);
grid on;
title('混合信号通过低通滤波器波形')
subplot(2,1,2);
plot(Y1); %绘制原信号两次自相关后通过滤波器波形 axis([0,2000,-3,3]);
grid on;
title('原信号两次自相关后滤波波形')
23
随机信号处理
实验报告
目录
一、实验要求: ........................................................................................................ 3 二、实验原理: ........................................................................................................ 3
2.1 随机信号的分析方法 . ................................................................................... 3 2.2 随机过程的频谱 . .......................................................................................... 3 2.3 随机过程的相关函数和功率谱 . ..................................................................... 4
(1)随机信号的相关函数: . ...................................................................... 4 (2)随机信号的功率谱 . ............................................................................. 4
三、实验步骤与分析 ................................................................................................. 5
3.1 实验方案..................................................................................................... 5 3.2 实验步骤与分析 .......................................................................................... 5
任务一:(s1 变量)求噪声下正弦信号的振幅和频率 .................................. 5 任务二:(s1 变量)求噪声下正弦信号的相位............................................. 8 任务三:(s1 变量)求信号自相关函数和功率谱 ........................................11 任务四:(s 变量)求噪声下信号的振幅和频率 . ......................................... 14 任务五:(s 变量)求信号的自相关函数和功率谱 ...................................... 17 3.3 实验结果与误差分析 ................................................................................. 19
(1)实验结果 . ......................................................................................... 19 (2)结果验证 . ......................................................................................... 19 (3)误差分析 . ......................................................................................... 21
四、实验总结和感悟 ............................................................................................... 22
1、实验总结 .................................................................................................... 22 2、实验感悟 .................................................................................................... 23 五、附低通滤波器的Matlab 程序 ............................................................................ 23
一、实验要求:
(学号末尾3,7)两个数据文件,第一个文件数据中只包含一个正弦波,通过MA TLAB 仿真计算信号频谱和功率谱来估计该信号的幅度,功率,频率和相位?对第二个文件数据估计其中正弦波的幅度,功率和频率?写出报告,包含理论分析,仿真程序及说明,误差精度分析等。第一文件调用格式load FileDat01_1 s1,数据在变量s1中;第二文件调用格式load FileDat01_2 s,数据在变量s 中。
二、实验原理:
2.1 随机信号的分析方法
在信号与系统中,我们把信号分为确知信号和随机信号。其中随机信号无确定的变化规律,需要用统计特新进行分析。这里我们引入随机过程的概念,所谓随机过程就是随机变量的集合,每个随机变量都是随机过程的一个取样序列。
随机过程的统计特性一般采用随机过程的分布函数和概率密度来描述,他们能够对随机过程作完整的描述。但由于在实践中难以求得,在工程技术中,一般采用描述随机过程的主要平均统计特性的几个函数,包括均值、方差、相关函数、频谱及功率谱密度等来描述它们。
2.2 随机过程的频谱
信号频谱分析是采用傅立叶变换将时域信号x(t)变换为频域信号X(f),从而帮助人们从另一个角度来了解信号的特征。时域信号x(t)的傅氏变换为:
X
(f )=⎰-∞x (t )e -j 2πft dt
+∞
信号的时域描述只能反映信号的幅值随时间的变化情况,除只有一个频率分量的简谐波外, 一般很难明确揭示信号的频率组成和各频率分量的大小。信号的频谱X(f)代表了信号在不同频率分量处信号成分的大小,它能够提供比时域信号波形更直观,丰富的信息。
在实际的控制系统中能够得到的是连续信号x(t)的离散采样值x(nT),因此需要利用离散信号x(nT)来计算信号x(t)的频谱。
有限长离散信号x(n),n=0,1,…,N-1的DFT 定义为:
N -1
X (k )=
∑
n =0
x (n )W N
kn
其中k
=0,1, 2....... N -1, W N =e
-j
2πN
2.3 随机过程的相关函数和功率谱
(1)随机信号的相关函数:
信号的相关性是指客观事物变化量之间的相依关系。对于平稳随机过程X(t)和Y(t)在两个不同时刻t 和t+τ的起伏值的关联程度,可以用相关函数表示。在离散情况下,信号x(n)和y(n)的相关函数定义为:
N -1N -1
R xy (t , τ) =
∑∑x (t ) y (t +τ) /N τ
τ=0
t
,t=0,1,2, „„N-1
随机信号的自相关函数表示波形自身不同时刻的相似程度。与波形分析、频谱分析相比,它具有能够在强噪声干扰情况下准确地识别信号周期的特点。一般来说,信号与噪声在时域内有明显不同,信号前后是有关联的,存在相关性;而噪声在不同时刻基本上不存在关联,即不存在相关性.利用这种相关性原理,已成为从强噪声中提取弱信号的重要手段。这种技术的理论基础是信息论和随机过程理论,这种检测方法被称为相关检测。 (2)随机信号的功率谱
随机信号的功率谱密度是随机信号的各个样本在单位频带内的频谱分量消耗在一欧姆电阻上的平均功率之统计均值,是从频域描述随机信号的平均统计参量,表示X(t)的平均功率在频域上的分布。它只反映随机信号的振幅信息,而没有反映相位信息。随机过程的功率谱密度为:
G (x ) =E [lim
|X Ti (ω) |
2T
2
] -∞<ω<+∞
T →∞
随机信号的平均功率就是随机信号的均方值,功率谱密度曲线下的总面积(即随机信号的全部功率)等于随机信号的均方值。随机信号的功率谱与它的自相关函数构成一对傅里叶变换对。
三、 实验步骤与分析
本实验利用Matlab 软件编程来实现数据文件中波形的仿真与分析,最后通过滤波器还原正弦信号,与结果进行比较。
3.1 实验方案
3.2 实验步骤与分析
任务一:(s1 变量)求噪声下正弦信号的振幅和频率 (1)原理:
采用傅立叶变换将时域信号x(t)变换为频域信号X(f),并作出幅频曲线进行分析,离散信号x(n),n=0,1,…,N-1的DFT 公式如下:
N -1
X (k )=
∑
n =0
x (n )W N
kn
-j 2πN
其中k
=0,1, 2....... N -1, W N =e
在Matlab 的编程实现时,运用的是快速算法傅里叶算法FFT ,它是DFT 的快速算法。因为给定的数据文件中采样点数N=4096,所以取采样频率fs=4096Hz。
(2)Matlab 仿真结果及分析
图1 随机信号的时域图形
图2 随机信号的频域图形
由时域图形可知,正弦信号被噪声“淹没”了,所以时域上看不出任何信号的特征,进行傅里叶变换,频域特征如图2所示。
已知采样频率fs=4096Hz,所以Nyquist 频率为fs/2=2048Hz,傅里叶变换的数据具有对称性,整个频谱以Nyquist 频率为对称轴,所以频谱分析的时候只要截取0~2048Hz范围内的频谱进行分析。
由频谱曲线可知,信号在82Hz 处有一个峰值,大小为4021,所以可以得出: 信号频率:
信号绝对幅度:
f =82Hz
2N
A =4021⨯
=
1.96
(3)附Matlab 程序及说明
clc; clear all; close all;
%清空
%清除所有变量 %关闭所有窗口
load('C:\Users\caolili\Desktop\FileDat01_1.mat') fs=4096; N=4096; n=0:N-1; t=n/fs; subplot(211); plot (n,s1);
%采样时间间隔 %两行一列第一幅图 %画出时域波形
%设定采样频率 %采样点数
xlabel('时间t(1/4096s)'); ylabel('信号s1'); title('原信号时域波形'); grid;
%进行FFT 变换并做频谱图
y=fft(s1,N); mag=abs(y);
%进行fft 变换 %求幅值
%进行对应的频率转换 %两行一列第二幅图 %作频谱图
f=(0:length(y)-1)'*fs/length(y); subplot(212); plot(f,mag); xlabel('频率(Hz)'); ylabel('幅值');
title('信号的幅频谱图N=4096'); grid;
任务二:(s1 变量)求噪声下正弦信号的相位 (1)原理
设观测数据为:
x (n ) =A cos(2πf 0n +φ) +w (n ), n =0, 1, 2,... ,N -1
式中,w (n )为已知方差σ的高斯白噪声,正弦信号的幅度A 和频率f 0为已知。一种估计φ的估计量为
2
⎧⎡N -1
φ=-Im ⎨ln ⎢∑x (n ) cos(2πf 0n ) +j
⎩⎣n =0
∧
N -1
∑
n =0
⎤⎫
x (n ) sin(2πf 0n ) ⎥⎬
⎦⎭
定义信噪比为SNR =
A
22
2σ
。由上面已经求的信号幅度A=1.96,f=82Hz,N=4096。
1产生服从特定概率分布的观测数据x (n ); ○
2利用估计算法计算估计量φ; ○
3上述过程重复M 次,产生M 个φ的实现 ○4利用μ○
∧
∧
∧
∧
=
1
M ∧
θ
M
1
∑θi 确定估计量的均值。
i =1
∧
5利用σ○
M ∧∧
2
∧
=
θ
M
∑(θ-
i =1
μθ) 确定估计量的方差。
∧
2
6利用直方图来确定○
PDF :首先计算落入某指定区间的次数,然后再除以总的实现次
数得到概率,再除以区间长度得到PDF 估计。
(2)Matlab 仿真结果及分析
根据利用matlab 仿真得到的PDF 估计如图3所示。
图3 随机信号的相位的统计特性
由上面的仿真结果可知初相位约在0时具有最大概率,所以:
θ=0
(3)附Matlab 程序及说明
clc; clear all; close all;
%清空
%清除所有变量 %关闭所有窗口
load('C:\Users\caolili\Desktop\FileDat01_1.mat') N=4096;
A=1.96; f=82; n=0:N-1; s0=300; for m=1:s0 y1=0;
%A为正弦信号幅值,f 为其频率
%设置循环次数
任务三:(s1 变量)求信号自相关函数和功率谱 (1)原理:
对于噪声中信号的功率谱分析,有传统方法和现代建模方式。本次实验中主要采用传统谱估计的自相关法,又称为间接法或BT 法。具体步骤是先由x N (n ) 估计出自相关函数
ˆ(w ) ,并以此作为对ˆ(m ) ,然后对r ˆ(m ) 求傅里叶变换得到x N (n ) 的功率谱,记之为P r BT
P (w ) 的估计,即
M
ˆ(w ) =P BT
(2)Matlab 仿真结果及分析
∑ˆ(m ) e -jwm , M ≤N -1。 r
m =-M
在Matlab 中主要用C (Xn) = xcorr(xn,'unbiased')函数来计算Xn 的自相关函数,然后对其进行傅里叶变换,便得到它的功率谱。
图4 随机信号的自相关函数
图4 随机信号的功率谱
原信号在时域上时被噪声淹没,经过自相关后可以看出信号为正弦信号,并且由自相关函数图象可知:
混合信号的平均功率:
E [X (n )]=R (0)=2.934
正弦信号的平均功率:
2
P =lim
T →∞
⎰
T -T
A cos
22
(w 0t +θ)dt =
A
2
2
=1.92
在功率谱图像上,极值点坐标为(82,27.72),正好对应正弦信号的频率为82Hz ,与上面的频谱分析一致。对功率谱密度曲线积分也可求出信号的平均功率。
(3)附Matlab 程序及说明
%自相关函数 clc;
%清空
%清除所有变量 %关闭所有窗口
clear all; close all;
load('C:\Users\caolili\Desktop\FileDat01_1.mat') fs=4096; N=4096; n=0:N-1; t=n/fs; Lag=300;
%延迟样点数
%对原始信号进行无偏自相关估计
%设定采样频率 %采样点数
[c,lags]=xcorr(s1,Lag,'unbiased'); subplot(1,2,1); plot(n,s1);
%绘制原信号的时域波形
xlabel('时间t(1/4096s)'); ylabel('信号s1');
title('带噪声的信号波形'); grid on; subplot(1,2,2); plot(lags/fs,c); xlabel('时间t'); ylabel('Rx(t)');
title('带噪声的信号自相关函数'); grid on;
%绘制自相关函数图象
%功率谱
%清空
%清除所有变量 %关闭所有窗口
clc; clear all; close all;
load('C:\Users\caolili\Desktop\FileDat01_1.mat') fs=4096;
%设定采样频率 %采样点数
N=4096; n=0:N-1; t=n/fs; Lag=300;
%延迟样点数
%求信号的自相关函数 %对自相关函数做FFT 变换
[c,lags]=xcorr(s1,Lag,'unbiased');
fy=fft(c,N); t1=0:round(N/2-1); a=t1*fs/N;
P=10*log10(fy(t1+1)); figure(gcf);
%纵坐标为相对功率谱密度,单位dB/Hz
plot(a,P);
任务四:(s 变量)求噪声下信号的振幅和频率 (1)原理:
同“任务一”的原理相同
ylabel('功率谱密度dBw/Hz'); title('信号的功率谱'); grid;
(2)Matlab 仿真结果及分析
图5 随机信号的时域波形(s 变量)
图6 随机信号的频谱(s 变量)
对于频谱图的局部放大如下图所示:
图7 随机信号的局部放大的频谱(s 变量)
由频域分析可以发现,信号的频谱图上有两个峰值,由Matlab 计算得两个极点分别为:
(82,4053) (86,8150)
所以信号由两个频率相近的正弦信号组成,根据图形分析,有用信号应该是两个正弦信号相加,形如:
⎛⎛n ⎫n ⎫
S (n )=A 1sin 2πf 1⨯⎪+A 2cos 2πf 2⨯⎪
f f s ⎭s ⎭⎝⎝
根据“任务一”的计算方式,可以得出: 有用信号的频率:
f 1=82H z
f 2=86H z
有用信号的绝对振幅:
A 1=4053⨯
A 2=8153⨯
2N
2N
=1.98
=3.98
对于此处采样点数N 和采样频率fs 的确定要满足频率分辨率的要求,即:
∆f =f 1-f 2=
f m ax -f m in
N
所以,要能有效的区分频率轴上的两个频率点f1和f2,有效数据长度必须满足以下关系式:
2f s N
所以此处取采样频率f s =4096H z ,采样点数N =4096,满足要求。 (3)附Matlab 程序及说明
此处的Matlab 程序设计与“任务一”的类似,只是变量调用时改变为S ,具体参考“任务一”的Matlab 程序及说明,此处不赘述。
任务五:(s 变量)求信号的自相关函数和功率谱 (1)原理:
同“任务三”的原理相同 (2)Matlab 仿真结果及分析
在Matlab 中主要用C (Xn) = xcorr(xn,'unbiased')函数来计算Xn 的自相关函数,然后对其进行傅里叶变换,便得到它的功率谱。
图8 随机信号的自相关函数图象(s 变量)
原信号在时域上时被噪声淹没,经过自相关后可以看出信号为正弦信号,并且由自相关函数图象可知:
混合信号的平均功率:
E [X (n )]=R x (0)=10.89
两个正弦信号的平均功率:
2
P =lim
2
T →∞
⎰
T -T
⎡A 12cos 2(w 1t +θ1)+A 22sin 2(w 2t +θ2)⎤dt ⎣⎦
2
=
A 1+A 2
2
=9.88
也可以通过对功率谱密度曲线积分求出信号的平均功率,其图象如下所示:
图9 随机信号的功率谱密度(s 变量)
(3)附Matlab 程序及说明
此处的Matlab 程序设计与“任务三”的类似,只是变量调用时改变为S ,具体参考“任务三”的Matlab 程序及说明,此处不赘述。
3.3 实验结果与误差分析
(1)实验结果
分析可知,对于给定的两个数据文件,第一个文件数据s1只包含一个正弦波,第二个文件数据s 是两个频率相近的正弦信号相加。
实验结果如下(采样频率为4096,采样点数为4096):
1 S1中正弦波频率为82Hz ,振幅为1.96,初相位为0,正弦信号的平均功率为1.92W ,○
混合信号的平均功率为2.93W ,所以噪声功率为1.01W ;
n ⎫⎛
⎪, n=0,1,2…4096 信号表达式为:S 1(n )=1.96sin 2π⨯82⨯
4096⎝⎭
2 S 中两个正弦波频率分别为82Hz 和86Hz ,振幅分别为1.98和3.98,正弦信号的○
平均功率为9.88W ,混合信号的平均功率为10.89W ,所以噪声功率为1.01W ;
信号表达式为:(n=0,1,2…4096)
n ⎛
S (n )=1.98sin 2π⨯82⨯
4096⎝
(2)结果验证
n ⎫⎫⎛
+3.98cos 2π⨯86⨯⎪ ⎪
4096⎭⎭⎝
由频谱分析可知,有用信号都是低频信号,所以可以通过一个低通滤波器把噪声滤掉,从而得出有用信号。
调用matlab 中的buttord 低通滤波器,混合信号通过次低通滤波器后得如下图10,图13波形,可见高频噪声已被滤除,但波形不规则,现在进行如下改善。
将原信号直接两重自相关,大幅度的提高信噪,然后再通过低通滤波器,得到的信号效果比较好,如下图11所示。
再通过求出的信号表达式:
n ⎫⎛
S 1(n )=1.96sin 2π⨯82⨯⎪
4096⎭⎝
n ⎫n ⎫⎛⎛
S (n )=1.98sin 2π⨯82⨯⎪+3.98cos 2π⨯86⨯⎪
40964096⎝⎭⎝⎭
作出波形,如图12,图14所示,三者相比较发现求出的波形具有较好的符合度。
图10混合信号通过低通滤波(s1变量)
图11原波形两次自相关后滤波波形(s1变量)
图12计算出的信号表达式仿真(s1变量)
n ⎫⎛
S 1(n )=1.96sin 2π⨯82⨯⎪
4096⎭⎝
图13混合信号通过低通滤波(s 变量)
图14计算出的信号表达式仿真(s 变量)
n ⎛S (n )=1.98sin 2π⨯82⨯4096⎝
(3)误差分析 n ⎫⎫⎛+3.98cos 2π⨯86⨯⎪ ⎪ 4096⎭⎭⎝
在本试验中信号中混入的是高斯白噪声,它是一个均值为零的随机过程,任一时刻是均值为零的随机变量。如图15所示为高斯白噪声的波形及其自相关函数波形:
可以看出,高斯白噪声具有随机性及不相关(其自相关函数在t=0处为一冲激,即为该随机过程的平均功率),所以主要的误差是由噪声带入的。在用Matlab 做信号仿真时,采样频率和采样点数的选择也会带来误差,主要有混叠误差和失真误差,所以在经过低通滤波器还原信号的时候,波形不太规则。此外,在估计信号相位时,运用的是概率知识,根据概率的大小判定相位,本身就会带来误差。
21
图15高斯白噪声及其自相关函数
四、实验总结和感悟
1、实验总结
在随机信号分析中,我们要对信号进行各方面的分析,例如:均值、均方值、方差、自(互)相关函数、频谱、平均功率谱密度等等。
(1)频谱函数与功率谱函数意义的区别:
在确定性信号的分析中,我们可以利用傅立叶变换得到原信号的频谱函数,从而可以确定该信号时域与频域的关系,反映信号能量在不同频率上的分量。因此我们可以利用频谱函数对信号的能量进行求解,即帕斯瓦尔等式的应用。
但是如果平稳过程的非零样本函数持续时间为无限长,则它不满足绝对可积与总能量有限的条件,所以其傅立叶变换不存在。但是平稳过程的样本函数的功率通常存在而且有限,因此为了研究信号的能量分布,我们可以去研究信号的平均功率。
(2)自相关函数在t=0出有一冲激
自相关函数在t=0的冲激为自相关函数程的平均功率。
22 在时大小,即;为随机过
2、实验感悟
通过此次随机信号分析实验,让我受益匪浅。
(1)本次实验中信号的产生提取均用MA TLAB 实现。由此,让我们学习到了MA TLAB 在信号分析及处理中的运用,同时也让我们认识到了MA TLAB 的实用性与重要性。
(2)在对随机过程信号的分析过程中,让我们了解到了随机信号分析理论在实践中的运用,加深了对随机信号各个方面知识的理解。
(3)在进行微弱信号的提取过程中,了解了多种信号提取的方法,同时学会了多重自相关提取强噪声下微弱信号的方法。
总之,此次实验增强了我们信号分析及处理的能力,为理论课的学习与理解打下了坚实的基础。
五、附低通滤波器的Matlab 程序 load('C:\Users\caolili\Desktop\FileDat01_1.mat')
X1=xcorr(s1,'unbiased') %混合信号两次自相关
X1=xcorr(X1,'unbiased')
[n,Wn]=buttord(30/500,45/500,3,10);
[k,l] = butter(n,Wn); %低通滤波器
Y=filter(k,l,s1); %混合信号通过低通滤波器
Y1=filter(k,l,X1) %原信号两次自相关通过低通滤波器提取信号 subplot(2,1,1);
plot(Y); %绘制原信号通过低通滤波器波形
axis([0,2000,-3,3]);
grid on;
title('混合信号通过低通滤波器波形')
subplot(2,1,2);
plot(Y1); %绘制原信号两次自相关后通过滤波器波形 axis([0,2000,-3,3]);
grid on;
title('原信号两次自相关后滤波波形')
23