当前位置:文档之家› 数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告
数字信号处理实验报告

数字信号处理作业提交日期:2016年7月15日

实验一 维纳滤波器的设计

第一部分

设计一维纳滤波器。

(1)产生三组观测数据,首先根据()(1)()s n as n w n =-+产生信号()s n ,将其加噪(信噪比分别为20,10,6dB dB dB ),得到观测数据123(),(),()x n x n x n 。

(2)估计()i x n ,1,2,3i =的AR 模型参数。假设信号长度为L ,AR 模型阶数为N ,分析实验结果,并讨论改变L ,N 对实验结果的影响。

1 实验原理

滤波技术是信号分析、处理技术的重要分支,无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传递是至关重要的。信号分析检测与处理的一个十分重要的内容就是从噪声中提取信号,实现这种功能的有效手段之一是设计一种具有最佳线性过滤特性的滤波器,当伴有噪声的信号通过这种滤波器的时候,它可以将信号尽可能精确地重现或对信号做出尽可能精确的估计,而对所伴随噪声进行最大限度地抑制。维纳滤波器就是这种滤波器的典型代表之一。

维纳(Wiener )是用来解决从噪声中提取信号的一种过滤(或滤波)方法。这种线性滤波问题,可以看做是一种估计问题或一种线性估计问题。

设一线性系统的单位样本响应为()h n ,当输入以随机信号()x n ,且

()()

()

x n s n v n =+,其中()s n 表示原始信号,即期望信号。()v n 表示噪声,则输出()y n 为()=()()m

y n h m x n m -∑,我们希望信号()x n 经过线性系统()h n 后得到的()y n 尽可能接近

于()s n ,因此称()y n 为估计值,用?()s

n 表示。 则维纳滤波器的输入-输出关系可用下面表示。

设误差信号为()e n ,则?()()()e n s n s

n =-,显然)(n e 可能是正值,也可能是负值,并且它是一个随机变量。因此,用它的均方误差来表达误差是合理的,所谓均方误差最小即

它的平方的统计期望最小:222?[|()|][|()()|][|()()|]E e n E s n s

n E s n y n =-=-=min 。而要使均方误差最小,则需要满足2[|()|]j

E e n h ?=0.

进一步导出维纳-霍夫方程为:()()()()*(),0,1,2...xs xx xx i

R m h i R m i R m h m m =-==∑

写成矩阵形式为:xs xx R R h =,可知:1xs xx h R R -=。表明已知期望信号与观测数据的互相关函数以及观测信号的自相关函数时,可以通过矩阵求逆运算,得到维纳滤波器的

最佳解。

2 实验及分析

(1)根据公司产生原始信号()()()1s n as n w n =-+,并分别加入不同信噪比的噪声,从而得到三组观测数据()()()123,,x n x n x n 。

幅度

原始信号

幅度

X 1信噪比为20db

幅度

X 2信噪比为10db

幅度

X 2信噪比为6db

(2)

滤波前后信号对比

误差

a.首先讨论信号长度L对实验结果的影响

信噪比为10db的噪声,AR模型阶数N=10,当L=50时

信噪比为10db的噪声,AR模型阶数N=10,当L=100时

滤波前后信号对比

误差

信噪比为10db的噪声,AR模型阶数N=10,当L=150时

滤波前后信号对比

误差

通过对比可以看出,当滤波器的阶数一定时,观测数据长度的增加,可以减少输出信号与期望信号间的差值。因此,观测信号的长度L对实验有着重要的影响,输入样本的个数增加可以提高维纳滤波的性能。

b.讨论AR模型的阶数N对实验结果的影响

信噪比为10db的噪声,信号长度为L=100,当AR模型阶数N=5时

滤波前后信号对比

误差

信噪比为10db的噪声,信号长度为L=100,当AR模型阶数N=10时

滤波前后信号对比

误差

信噪比为10db的噪声,信号长度为L=100,当AR模型阶数N=15时

滤波前后信号对比

误差

通过对比可以看出数据长度一定时,可以通过改变滤波器的阶数来减小最小均方误差,从而达到改变整体滤波的效果。因此可知滤波器的阶数对实验结果有很大影响,增加阶数可以提高滤波器的性能。

3 结论

综上所述,我们可以看到,增加输入信号的长度L 和增加滤波器的阶数N ,都可以显著的提高滤波器的性能。因此,在设计维纳滤波器时需要注意以上两点,考虑其对实验结果的最终影响,慎重选择。

第二部分

设计一维纳滤波器

1)任选一幅图片,采用运动模糊函数使图片模糊,然后用维纳滤波进行图像复原,并计算出图像复原后的输出图象与原图象的误差(可根据每个象素点上的灰度值差来计算)。

2)任选一幅由于照相技术而产生的模糊图片,采用维纳滤波进行图像复原,并计算出图像复原后的输出图象与原图象的误差(可根据每个象素点上的灰度值差来计算)。

1 维纳滤波的基本原理

维纳(Wiener)滤波是用来解决从噪声中提取信号问题的一种过滤(或滤波)的方法。实际上这种线性滤波问题,可以看成是一种估计问题或一种线性估计问题。

一个线性系统,如果它的单位样本响应为()h n ,当输入一个随机信号()x n ,且

=)(n x )(n s )(n v + (1)

其中)(n s 表示信号,)(n v 表示噪声,则输出)(n y 为

)(n y ∑-=m

m n x m h )()( (2)

我们希望()x n 通过线性系统()h n 后得到的()y n 尽量接近于()s n ,因此()y n 称为

()s n 的估计值,用()s n ∧

表示,即

=)(n y )(n s ∧

(3)

图1 维纳滤波器的输入一输出关系

如图3-1所示。这个线性系统()h n 称为对于()s n 的一种估计器。

实际上,式(2-2)的卷积形式可以理解为从当前和过去的观察值)(n x ,)1(-n x ,

)2(-n x …)(m n x -,…来估计信号的当前值)(n s ∧

。因此,用)(n h 进行过滤的问题可以看

成是一个估计问题。由于我们现在涉及的信号是随机信号,所以这样一种过滤问题实际上是一种统计估计问题。

一般,从当前的和过去的观察值)(n x ,)1(-n x ,)2(-n x …估计当前的信号值

=)(n y )(n s ∧

称为过滤或滤波;从过去的观察值,估计当前的或将来的信号值=)(n y )(N n s +∧ )0(≥N 称为预测或外推;从过去的观察值,估计过去的信号值=)(n y )-(N n s ∧)1(≥N 称为平滑或内插。因此维纳过滤又常常被称为最佳线性过滤与

预测或线性最优估计。这里所谓最佳与最优是以最小均方误差为准则的。这里只讨论过滤与预测问题。

如果我们以:与s 分别表示信号的真值与估计值,而用)(n e 表示它们之间的误差,即

=)(n e -)(n s )(n s ∧

(4)

显然,)(n e 可能是正的,也可能是负的,并且它是一个随机变量。因此,用它的均方值来表达误差是合理的,所谓均方误差最小即它的平方的统计平均值最小:

[]

m in 2

)(n e E min

2^)()(????????????????-=n s n s E (5)

采用最小均方误差准则作为最佳过滤准则的原因还在于它的理论分析比较简单,不要求对概率的描述。并且在这种准则下导出的最佳线性系统对其它很广泛一类准则而言也是最佳的。

2 维纳滤波对退化图像的恢复

维纳滤波是一种有约束的复原恢复,它综合了退化图像和噪声统计特性两个方面进行了复原处理。维纳滤波,它是使原图像),(y x f 及其恢复图像),(^

y x f 之间的均方差最小的复原方法,即:

min ),(),(2^=??

???

???????????-y x f y x f E (6) 式中,{}

.E 为数学期望算子。因此,维纳滤波器通常又叫最小均方差滤波器。 很容易推到出原始图像的傅里叶变换估计为: ),(),(),(^

v u G v u H v u F w =

=

),(.)

,()

,(),()

,(.

)

,(1

2

2

v u G v u p v u p v u H v u H v u H f u

γ+ (7)

上式也称作约束复原恢复通用的表达式,它的传递函数为:

),(v u H w ),(.)

,()

,(),()

,(.

)

,(1

2

2

v u G v u p v u p v u H v u H v u H f u

γ+= (8)

3.实验结果及分析

模糊图像

维纳滤波复原图像

(NSR=0)维纳滤波复原图像

(NSR=0.002)

维纳滤波复原图像

(NSR=0.005)维纳滤波复原图像

(NSR=0.008)维纳滤波复原图像

(NSR=0.015)

维纳滤波复原图像

(NSR=0.015)维纳滤波复原图像

(NSR=0.015)维纳滤波复原图像(NSR=0.015)

图2 使用维纳滤波进行图片复原

模糊图像

维纳滤波复原图像

(NSR=0)NSR=0

时的灰度差值维纳滤波复原图像

(NSR=0.002)

NSR=0.002

时的灰度差值维纳滤波复原图像

(NSR=0.005)维纳滤波复原图像

(NSR=0.008)维纳滤波复原图像

(NSR=0.015)

NSR=0.015时的灰度差值

图3 对由于拍照技术造成的运动模糊图像进行处理

原图像

退化并加高斯白噪声后的图象

逆滤波恢复后的图象

维纳滤波恢复后的图象

图4 对图像加噪后进行滤波复原

图2所示是对西安市钟楼的照片加噪后进行维纳滤波,从结果来看,随着信噪比的增大,滤波效果越来越好。滤波后的图像与原图像每个像素点的差值之和明显减小。

图3所示是用维纳滤波对由于拍照技术产生的模糊图片进行处理的结果,处理结果表明,维纳滤波对运动模糊图像的复原效果很好,图2中第6幅图与原图相比明显清晰了许多。图2中后三幅图是三种信噪比下,滤波后的图像与原图像每个像素点的差值绘制出的图像。从三幅图中明显可以看出,信噪比较大时复原的图像与

原图像的像素点的差值明显减小。

实验二 卡尔曼滤波器的设计

第一部分 1 实验题目

假设一个点目标在x ,y 平面上绕单位圆做圆周运动,由于外界干扰,其运动轨迹发生了偏移。其中,x 方向的干扰为均值为0,方差为0.05的高斯噪声;y 方向干扰为均值为0,方差为0.06的高斯噪声。

1)产生满足要求的x 方向和y 方向随机噪声500个样本; 2)明确期望信号和观测信号;

3)试设计一FIR 维纳滤波器,确定最佳传递函数:1opt xx xs h R R -=,并用该滤波器处理观测信号,得到其最佳估计。(注:自行设定误差判定阈值,根据阈值确定滤波器的阶数或传递函数的长度)。

4)要求3中,也可以选择Kalman 滤波器进行滤波处理,采用哪种滤波器可以自由选择。 5)分别绘制出x 方向和y 方向的期望信号、噪声信号、观测信号、滤波后信号、误差信号的曲线图;

6)在同一幅图中绘制出期望信号、观测信号和滤波后点目标的运动轨迹。

7)实验报告要求:给出求解思路和结果分析,给出MATLAB 实现源程序和程序注解。

2 解题思路

目标信号在x 、y 方向均受到高斯噪声的干扰,本实验分别从两个方向分别进行滤波处理,最终得到整体滤波处理后的信号。具体解题思路如下: 8)选用FIR 维纳滤波器进行滤波处理

9)产生x 、y 方向噪声信号xnoise 和 ynoise , 产生x 、y 方向期望信号xs 、ys , 产生x 、y 方向观测信号x 、y 。

10)分别求出x 、y 方向上观测信号的自相关矩阵以及观测信号与期望信号的互相关矩阵,根据公式

1opt xx xs

h R R -=确定最佳传递函数。

11)根据()()

2

2

min T

d

xd

opt E e n R

h σ*??=-??分别求出x 、y 方向上最小均方误差。

3 运行结果及分析

运行结果如下图:

分析:

1)运行结果中滤波后的到的信号与原始信号和噪声信号的对比可以看出,滤波后的结果与期望信号还是很接近的,整体上达到了最优滤波的效果。

2)滤波后点目标的运动轨迹有回到零点的情况发生,分析其原因是:传递函数的点数为M,x的点数为N,进行卷积时,会自动补0使二者长度相同,卷积之后点数为M+N-1。

4 实验总结

试验中遇到几个问题,经过查阅资料以及和同学讨论最终得到解决。此过程中遇到的问题及解决方案如下:

问题1:点目标做圆周运动,将圆周中心定于非零点,经过滤波后,均方误差较大,滤波效果较差。

解决:忽略了信号的零均值化处理,将圆周中心定于零点,这样信号的均值为零,相当于进行了零均值化处理。

问题2:由于产生x、y方向上随机噪声的方法相同,将上述程序中产生噪声信号的部分改为如下:

%产生x轴方向和y轴方向噪声

n=500;%产生500个随机样本

ux=0;vx=0.05;

uy=0;vy=0.06;

t=randn(1,n); %产生1*n个伪随机数

t=t/std(t);

t=t-mean(t);

xnoise=ux+sqrt(vx)* t;

ynoise=uy+sqrt(vy)* g;

运行结果如下图,发现,x、y方向干扰加进去后,造成的干扰有一定的规律,方向大概一致。

解决:分析发现,产生的x、y方向上随机噪声用的是同一组伪随机数,才出现下图的结果。所以改为分别产生。

问题3:圆周的等间隔采样问题,采用的间隔为2*pi/500 ,theta 角的取值范围为 theta=0:pi/250:2*pi 。当与噪声信号叠加产生观测信号时,程序出错,提示矩阵大小不同。

解决:经过检查theta 角的取值个数发现:当间隔为2*pi/500时,theta 角的取值个数为501个,最后经计算将间隔修改为2*pi/499。

第二部分 1 实验题目

设有一个随机信号()x n 服从AR(4)过程,它是一宽带过程,参数如下:

2

(1) 1.352,(2) 1.338,(3)0.662,(4)0.240,1

a a a a σ=-==-==

我们通过观测方程()()()y n x n v n =+来测量该信号,()v n 是方差为1的高斯白噪声,用LMS 算法和RLS 算法完成解决问题。用Matlab 对此问题进行仿真,提交仿真程序、仿真结果和撰写报告。

2.实验原理

一个随机信号()x n 服从AR(4)过程,且滤波器系数为: a=[1 -1.352 1.338 -0.662 0.240];

则可以由白噪声()v n 通过一个AR4阶的滤波器生成信号序列x(n),然后x(n)在加上是方差为1的高斯白噪声得到()()()y n x n v n =+,然后分别通过LMS 算法和RLS 算法分别对y(n)滤波得出()x n 的估计值。如下方框图:

1)LMS 自适应算法原理:

采用最陡下降算法:搜索方向为梯度负方向,每一步更新都使梯度函数值减小。 LMS 算法:搜索方向为瞬时梯度负方向,不能保证每一步更新都是目标函数值减小,但总趋势使目标函数值减小。

RLS算法原理:

实际上为一种最小二乘算法,是用递推得方法求最小二乘解。

3 仿真结果:

LMS算法仿真结果

初始化时:学习步长mu=0.015,权系数个数即抽头数为10,节点训练序列N=150 刚开始基本的LMS算法学习步长固定为C=1.5太大了,出现无法跟踪波形后来又调整到0.015。而且节点训练序列N=60造成数据跟踪不完整,应该改为150。

LMS算法1次实验误差平方的均值曲线下图:

RLS算法仿真结果

RLS算法1次实验误差平方的均值曲线如下图:

第三部分

1 实验题目

利用自适应滤波法研究从宽带信号中提取单频信号的方法:

设x(t)=s(t)+ Acos(2*pi*f1*t+fi)+ Bcos(2*pi*f2*t),s(t)是宽带信号,A,B,f1,f2,fi任选,

要求提取两个单频信号;

设fs=f1+△f,要求提取单频信号cos(2*pi*f2*t),研究△f的大小对提取单频信号的影响。

2 实验原理

3 实验结果

0.2

0.4

0.6

0.8

1

-12

-10-8-6-4-20246

8

-20

-15-10-5051015

相关主题
文本预览
相关文档 最新文档