数字信号处理第一次大作业

数字信号处理第一次大作业
数字信号处理第一次大作业

实验名称

实验1 基于谐波检测的移频闭塞信号数字接收

实验目的

1.掌握基于FFT 的信号频谱分析技术,认识近似分析中出现的混叠现象、泄露现象

和栅栏现象,加深理解这些现象对频谱分析精度的影响。

2.初步掌握噪声中谐波检测算法,了解影响频率估计精度的主要因素。

3.了解铁路移频闭塞系统的信号发送和接收过程。

实验内容

1.通过理论分析推导移频闭塞信号s(t)及其等效低通形式s l(t)的傅里叶变换表达式(为

离散谱),由此计算f1取不同值时国产18信息和ZPW-2000两类闭塞信号的主谐波分量频率和有效值,并统计其功率最强的几根谱线(国产18信息为6根,ZPW-2000 为3根)的功率之和占信号总功率的百分比。将计算结果制作成表格。

2.参照实验原理部分提供的波形仿真示例程序,针对国产18信息和ZPW-2000两种制

式,产生f1为标准值时移频闭塞信号等效低通信号仿真波形(可根据需要设定生成数据的长度和对采样频率等参数进行调整),由FFT分析该信号频谱并计算其主谐波的频率和有效值,将计算结果与内容1计算结果进行比较。

3.假设移频闭塞信号的参数f c和f1取标准值(即频率偏差为0),设计算法分析接收到

的等效低通信号,通过提取移频闭塞信号的主谐波分量,估计调制低频f1的最佳取值。将编写的程序对10段信号样本进行分析,输出f1的估计结果。

4.假设移频闭塞信号的参数f c和f1的偏差满足|Δf c|<5Hz,|Δf1|<0.1Hz,根据接收到的

等效低通信号设计算法估计Δf c和Δf1,并确定调制低频f1对应的最佳标准值。将编写的程序对10 段信号样本进行分析,输出Δf c、Δf1和f1的估计结果。

实验结果与分析

内容1

v=Δf

f1

=TΔf

由题可知

s(t)=A0∑{c n cosθ0cos[2π(f c+nf1)t]+c n sinθ0sin[2π(f c+nf1)t]} +∞

n=?∞

其中

c n=sin

π(v?n)

2

π(v?n)

+(?1)n

sin

π(v+n)

2

π(v+n)

若要求移频信号归一化功率为1,则移频信号的各个谐波分量的归一化值为

A?n=

c

√∑|c n|2

+∞

n=?∞

=

c

√|c0|2+2∑|c n|2

+∞

n=1

内容2

ZPW-2000制式,仿真结果如下

主谐波频率

f=1

T

=

1

(0.4937?0.009338)/13

≈26.8394Hz

偏移4Hz。归一化后,在4Hz±0.5f上进行积分后开方,得有效值0.6458。

国产18信息制式,仿真结果如下

f=1

T

=

1

(0.4982?0.01508)/8

≈16.5590Hz

主谐波频率为49.677Hz

偏移4Hz。归一化后,进行数值积分后开方,得有效值0.8177。

将以上结果与理论值相比较,可以看出,由于噪声作用,二者有一定误差,但仍然体现出了一致性。

内容3

对于ZPW-2000信息制式,幅频特性类似于下图

对于国产18制式,幅频特性类似于下图

从文件读入时域波形,用fft函数得到频谱。

取峰值中最大的n个(对于ZPW-2000信息制式,取n=3;对于国产18制式,取n=6),将其对应的频率放在数组f里。

以0.1为步长,不断列举f1的值,记录下使

n

S=∑|f1?f[i]|

i=1

最小的f1的值。

然后将f1与标准值相比较,选择最接近的一个。

编写程序如下

%初始化

close all;

clear all;

fs=1024;

f1=zeros(10,1);

type=6;

if (type==3)

F1Set=10.3+1.1*(0:17);

else

F1Set=[7,8,8.5,9.0,9.5,11.0,12.5,13.5,15.0,16.5,17.5,18.5,20.0,21.5,22.5,23.5,24.5,26];

End

%数据处理部分

for step=1:10

%读取数据

load 2009010990_dat3;

x=Data(:,step);

%频谱分析

X=fftshift(fft(x));

%抽取主谐波频率

[X_sorted,index_sorted]=sort(X);

n=length(index_sorted);k=type;m=0;t=zeros(type,1); while (m

a=sort(index_sorted(n-k+1:n));

m=1;

t(1)=a(1);

for i=2:k

if (a(i)~=a(i-1)+1)

m=m+1;

t(m)=a(i);

else

if (X(t(m))

t(m)=a(i);

end

end

end

k=k+1;

end

index=(t-257)*2;

%确定f1

b=sort(abs(index));

r=zeros(type,1);

delta=0;

while (delta<100)

for i=floor(min(F1Set))*10:b(round(type/2))*10 tmp=0;

for j=1:type

r(j)=b(j)/(i*0.1);

tmp=tmp+abs(r(j)-round(r(j)));

end

if (tmp<=0.02*delta)

f1(step)=i*0.1;

end

end

if (f1(step)<7)

delta=delta+1;

else

delta=100;

end

end

%将f1与标准值匹配

mindelta=abs(f1(step)-F1Set(1));

f1tmp=F1Set(1);

for i=2:length(F1Set)

if (mindelta>abs(f1(step)-F1Set(i)))

mindelta=abs(f1(step)-F1Set(i));

f1tmp=F1Set(i);

end

end

f1(step)=f1tmp;

end

%输出结果

disp(f1);

分别从2009010990_dat1和2009010990_dat3读取数据,运行程序进行分析,得到结果如下表所示。

与任务3算法原理相似,但需要加入对△f c和△f1的处理,因此程序结构上有所改变。

仍然从文件中读入采样数据,用fft()函数进行频谱分析,并抽取频谱中的n个最大值,将其对应频率放入数组f。

先以0.01为步长,不断列举△f c的值,再以0.01为步长,不断列举△f1的值,并枚举f1为标准值,记录下使

n

S=∑|f1?f[i]+△f c|

i=1

最小的△f c,△f1与f1。

编写程序如下。

close all;

clear all;

fs=1024;

type=6;

if (type==3)

F1Set=10.3+1.1*(0:17);

else

F1Set=[7,8,8.5,9.0,9.5,11.0,12.5,13.5,15.0,16.5,17.5,18.5,20.0,21.5,22.5,23.5,24.5,26];

end

for step=1:10

load 2009010990_dat4;

x=Data(:,step);

X=fftshift(fft(x));

[X_sorted,index_sorted]=sort(X);

n=length(index_sorted);k=type;m=0;t=zeros(type,1);

while (m

a=sort(index_sorted(n-k+1:n));

m=1;

t(1)=a(1);

for i=2:k

if (a(i)~=a(i-1)+1)

m=m+1;

t(m)=a(i);

else

if (X(t(m))

t(m)=a(i);

end

end

end

k=k+1;

end

index=(t-257)*2;

a=sort(abs(index));

df1=(-0.1:0.01:0.1)';

F1Set0=df1*ones(1,length(F1Set))+ones(length(df1),1)*F1Set;

deltamin=100;f1index=0;dffinal=0;

for dfc=-5:0.01:5

index0=index-dfc;

thedelta=100;

for i=1:length(F1Set)

for j=1:length(df1)

delta=sum(abs((index0/F1Set0(j,i))-round(index0/F1Set0(j,i))));

if (delta<=thedelta)

thedelta=delta;

theindex=i;

thedf1=df1(j);

end

end

end

if (thedelta<=deltamin)

deltamin=thedelta;

f1index=theindex;

dfcfinal=dfc;

df1final=thedf1;

end

end

disp([dfcfinal,df1final,F1Set(f1index)]);

end

分别从2009010990_dat2和2009010990_dat4读取数据,运行程序进行分析,得到结果

其f1应为30左右,远超出了标准值的取值范围,因此程序识别错误,认为f1=15Hz。我查看了其他同学的一些数据,没有发现类似这样的数据。

事实上在任务3中,制式为国产18信息的第9条数据,同样出现了f1=30Hz,只不过任务3中采用了另一种算法,程序没有出错。

误差分析

由于频谱分析后频率最小间隔为2Hz,因此对于单个峰值,误差在1Hz之内。而谐波分析过程中,采用了多个峰值所对应的频率,造成误差应当在0.1Hz数量级。需要注意的是,这一误差可以通过增加采样频率来减少。

忽略频谱离散造成的误差,该算法中△f c,△f1,f1的误差都在0.01Hz以内,并可以通过缩减步长而减小。

数字信号处理实验作业

实验6 数字滤波器的网络结构 一、实验目的: 1、加深对数字滤波器分类与结构的了解。 2、明确数字滤波器的基本结构及其相互间的转换方法。 3、掌握用MA TLAB 语言进行数字滤波器结构间相互转换的子函数及程序编写方法。 二、实验原理: 1、数字滤波器的分类 离散LSI 系统对信号的响应过程实际上就是对信号进行滤波的过程。因此,离散LSI 系统又称为数字滤波器。 数字滤波器从滤波功能上可以分为低通、高通、带通、带阻以及全通滤波器;根据单位脉冲响应的特性,又可以分为有限长单位脉冲响应滤波器(FIR )和无限长单位脉冲响应滤波器(IIR )。 一个离散LSI 系统可以用系统函数来表示: M -m -1-2-m m m=0 012m N -1-2-k -k 12k k k=1 b z b +b z +b z ++b z Y(z)b(z)H(z)=== =X(z)a(z) 1+a z +a z ++a z 1+a z ∑∑ 也可以用差分方程来表示: N M k m k=1 m=0 y(n)+a y(n-k)=b x(n-m)∑∑ 以上两个公式中,当a k 至少有一个不为0时,则在有限Z 平面上存在极点,表达的是以一个IIR 数字滤波器;当a k 全都为0时,系统不存在极点,表达的是一个FIR 数字滤波器。FIR 数字滤波器可以看成是IIR 数字滤波器的a k 全都为0时的一个特例。 IIR 数字滤波器的基本结构分为直接Ⅰ型、直接Ⅱ型、直接Ⅲ型、级联型和并联型。 FIR 数字滤波器的基本结构分为横截型(又称直接型或卷积型)、级联型、线性相位型及频率采样型等。本实验对线性相位型及频率采样型不做讨论,见实验10、12。 另外,滤波器的一种新型结构——格型结构也逐步投入应用,有全零点FIR 系统格型结构、全极点IIR 系统格型结构以及全零极点IIR 系统格型结构。 2、IIR 数字滤波器的基本结构与实现 (1)直接型与级联型、并联型的转换 例6-1 已知一个系统的传递函数为 -1-2-3 -1-2-3 8-4z +11z -2z H(z)=1-1.25z +0.75z -0.125z 将其从直接型(其信号流图如图6-1所示)转换为级联型和并联型。

数字信号处理(北航)实验二报告

数字信号处理实验二 信号的分析与处理综合实验 38152111 张艾一、实验目的 综合运用数字信号处理的理论知识进行信号的采样,重构,频谱分析和滤波器的设计,通过理论推导得出相应结论,再利用Matlab作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 二、基本要求 1.掌握数字信号处理的基本概念、基本理论和基本方法; 2.学会MATLAB的使用,掌握MATLAB的程序设计方法; 3.掌握用MATLAB设计简单实验验证采样定理的方法; 4.掌握在Windows环境下语音信号采集的方法; 5.学会用MATLAB对信号进行频谱分析; 6.掌握MATLAB设计FIR和IIR数字滤波器的方法; 三、实验内容 1.利用简单正弦信号设计实验验证采样定理: (1)Matlab产生离散信号的方法,作图的方法,以及基本运算操作 (2)对连续正弦信号以不同的采样频率作采样 (3)对采样前后信号进行傅立叶变换,并画频谱图 (4)分析采样前后频谱的有变化,验证采样定理。

掌握画频谱图的方法,深刻理解采样频率,信号频率,采样点数,频率分辨率等概念2.真实语音信号的采样重构:录制一段自己的语音信号,并对录制的信号进行采样;画出采样前后语音信号的时域波形和频谱图;对降采样后的信号进行插值重构,滤波,恢复原信号。 (1)语音信号的采集 (2)降采样的实现(改变了信号的采样率) (3)以不同采样率采样后,语音信号的频谱分析 (4)采样前后声音的变化 (5)对降采样后的信号进行插值重构,滤波,恢复原信号 3.带噪声语音信号的频谱分析 (1)设计一频率已知的噪声信号,与实验2中原始语音信号相加,构造带噪声信号(2)画出原始语音信号和加噪声后信号,以及它们的频谱图 (3)利用频谱图分析噪声信号和原语音信号的不同特性 4.对带噪声语音信号滤波去噪:给定滤波器性能指标,采样窗函数法或双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采样的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化; 回放语音信号; (1)分析带噪声信号频谱,找出噪声所在的频率段 (2)利用matlab中已有的滤波器滤波 (3)根据语音信号特点,自己设计滤波器滤波 (4)比较各种滤波器性能(至少四种),选择一种合适的滤波器将噪声信号滤除 (5)回放语音信号,比较滤波前后声音的变化

数字信号处理实验报告

数字信号处理作业提交日期: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 -=。表明已知期望信号与观测数据的互相关函数以及观测信号的自相关函数时,可以通过矩阵求逆运算,得到维纳滤波器的

数字信号处理作业答案

数字信号处理作业

DFT 习题 1. 如果)(~n x 是一个周期为N 的周期序列,那么它也是周期为N 2的周期序列。把)(~ n x 看作周期为N 的周期序列,令)(~1k X 表示)(~n x 的离散傅里叶级数之系数,再把)(~ n x 看作周期为N 2的周期序列,再令)(~2k X 表示)(~n x 的离散傅里叶级数之系数。当然,)(~1k X 是周期性的,周期为N ,而)(~2k X 也是周期性的,周期为N 2。试利用)(~1k X 确定)(~2k X 。(76-4)

2. 研究两个周期序列)(~n x 和)(~n y 。)(~n x 具有周期N ,而)(~ n y 具有周期M 。序列)(~n w 定义为)()()(~ ~~n y n x n w +=。 a. 证明)(~n w 是周期性的,周期为MN 。 b. 由于)(~n x 的周期为N ,其离散傅里叶级数之系数)(~k X 的周期也是N 。类似地, 由于)(~n y 的周期为M ,其离散傅里叶级数之系数)(~k Y 的周期也是M 。)(~n w 的离散傅里叶级数之系数)(~k W 的周期为MN 。试利用)(~k X 和)(~k Y 求)(~k W 。(76-5)

3. 计算下列各有限长度序列DFT (假设长度为N ): a. )()(n n x δ= b .N n n n n x <<-=000) ()(δ c .10)(-≤≤=N n a n x n (78-7) 4. 欲作频谱分析的模拟数据以10千赫速率被取样,且计算了1024个取样的离散傅里叶变换。试求频谱取样之间的频率间隔,并证明你的回答。(79 -10)

数字信号处理实验报告

Name: Section: Laboratory Exercise 2 DISCRETE-TIME SYSTEMS: TIME-DOMAIN REPRESENTATION 2.1 SIMULATION OF DISCRETE-TIME SYSTEMS Project 2.1The Moving Average System A copy of Program P2_1 is given below: % Program P2_1 % Simulation of an M-point Moving Average Filter % Generate the input signal n = 0:100; s1 = cos(2*pi*0.05*n); % A low-frequency sinusoid s2 = cos(2*pi*0.47*n); % A high frequency sinusoid x = s1+s2; % Implementation of the moving average filter M = input('Desired length of the filter = '); num = ones(1,M); y = filter(num,1,x)/M; % Display the input and output signals clf; subplot(2,2,1); plot(n, s1); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Signal #1'); subplot(2,2,2); plot(n, s2); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Signal #2'); subplot(2,2,3); plot(n, x); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Input Signal'); subplot(2,2,4); plot(n, y); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Output Signal'); axis;

2020年数字信号处理大作业新版修订

2019~2020年度《数字信号处理》大作业题目与要求 大作业要求: 本学期大作业总分40分,学生可选择任意数量的题目完成,只要所选题目总分达到40分即可,所选题目总分如果超过40分,超过的部分不计入大作业总分。大作业以电子版的形式提交,内容应包括详细的程序设计思路与题目分析(题目分析指的是对该题目中所用到的知识点的说明,不要照搬书上或网上的内容,写出你自己对该知识点的理解。),程序截图,程序源码,其中设计思路和程序截图可写在同一个文档中,程序源码可以是.txt或.m 文件,并在源码中标注代码注释。另:题目中有GUI设计要求的部分占该题目分值的20%,功能实现部分占该题目分值的80%。 注:以下题目均用MATLAB完成。 大作业题目: 1、实现有限长序列的基本运算(包括:加法、乘法、累加、移位、翻褶、抽取、插值、卷积和),并以GUI的形式将这些运算整合起来,使用者可通过向GUI输入任意有限长序列得到对应的运算结果。(5分) 2、设计一个GUI,实现奈奎斯特采样定理,要求:1、在GUI中输入任意一个模拟信号,显示该模拟信号的时域和频域谱图;2、在GUI中设置任意采样频率,对输入的模拟信号进行采样处理,显示采样信号的时域和频域谱图; 3、在GUI中实现采样信号向模拟信号的恢复功能,要求显示恢复后的模拟信号的时域和频域谱图。(10分) 3、通过GUI动态展示z变换与s变换之间的所有关系。(5分) 4、设计一个GUI,通过向GUI输入任意系统函数,得到其对应系统的相关信息(包括:系统频率响应中的幅度响应和相位响应、系统零极点的分布、系统的稳定性判定)。(10分) 5、设计一个GUI,实现利用DFT(或FFT)完成任意时域信号的频谱分析,要求:1、可在GUI中输入时域数字或模拟信号;2、可设置DFT点数;3、在GUI中显示输入信号经DFT(或FFT)处理后的频谱图;3、若输入信号为模拟信号,需完成对该模拟信号的采样,采样频率可在GUI中设置。(10分) 6、在GUI中,实现IIR滤波器的直接型、级联型和并联型三种结构之间的任意转换,要求:在GUI中输入任意一型的系统函数后可在该GUI中显示出对应的另外两型的系统函数。(10分) 7、实现巴特沃斯样本模拟低通滤波器及其对应的数字低通滤波器的设计,以GUI的形式给出。要求:输入所需的模拟低通滤波器参数指标后,程序能将该指标转化为数字低通滤波器指标(在GUI中应能选择转化方式:冲激响应不变法、双线性变换法),并在GUI中显示出所给参数下巴特沃斯样本模拟低通滤波器及其对应的数字低通滤波器的频率响应中幅度响应的频谱图。(15分) 8、已知某组数字信号(见大作业数据压缩包中HWDATA.mat文件),该信号中除了目标信号之外还掺杂有强噪声,但噪声与目标信号的频率不重叠,要求采用本学期已学的知识对该信

数字信号处理实验报告

实验一MATLAB语言的基本使用方法 实验类别:基础性实验 实验目的: (1)了解MATLAB程序设计语言的基本方法,熟悉MATLAB软件运行环境。 (2)掌握创建、保存、打开m文件的方法,掌握设置文件路径的方法。 (3)掌握变量、函数等有关概念,具备初步的将一般数学问题转化为对应计算机模型并进行处理的能力。 (4)掌握二维平面图形的绘制方法,能够使用这些方法进行常用的数据可视化处理。 实验内容和步骤: 1、打开MATLAB,熟悉MATLAB环境。 2、在命令窗口中分别产生3*3全零矩阵,单位矩阵,全1矩阵。 3、学习m文件的建立、保存、打开、运行方法。 4、设有一模拟信号f(t)=1.5sin60πt,取?t=0.001,n=0,1,2,…,N-1进行抽样,得到 序列f(n),编写一个m文件sy1_1.m,分别用stem,plot,subplot等命令绘制32 点序列f(n)(N=32)的图形,给图形加入标注,图注,图例。 5、学习如何利用MATLAB帮助信息。 实验结果及分析: 1)全零矩阵 >> A=zeros(3,3) A = 0 0 0 0 0 0 0 0 0 2)单位矩阵 >> B=eye(3) B = 1 0 0 0 1 0 0 0 1 3)全1矩阵 >> C=ones(3) C = 1 1 1 1 1 1 1 1 1 4)sy1_1.m N=32; n=0:N-1; dt=0.001; t=n*dt; y=1.5*sin(60*pi*t); subplot(2,1,1), plot(t,y); xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('正弦函数'); title('二维图形'); subplot(2,1,2), stem(t,y) xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('序列函数'); title('条状图形'); 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 二维图形 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 条状图形

数字信号处理实验报告

语音信号的数字滤波 一、实验目的: 1、掌握使用FFT进行信号谱分析的方法 2、设计数字滤波器对指定的语音信号进行滤波处理 二、实验内容 设计数字滤波器滤除语音信号中的干扰(4 学时) 1、使用Matlab的fft函数对语音信号进行频谱分析,找出干扰信号的频谱; 2、设计数字滤波器滤除语音信号中的干扰分量,并进行播放对比。 三、实验原理 通过观察原语音信号的频谱,幅值特别大的地方即为噪声频谱分量,根据对称性,发现有四个频率的正弦波干扰,将它们分别滤掉即可。采用梳状滤波器,经过计算可知,梳状滤波器h[n]={1,A,1}的频响|H(w)|=|A+2cos(w)|,由需要滤掉的频率分量的频响w,即可得到A,进而得到滤波器的系统函数h[n]。而由于是在离散频域内进行滤波,所以令w=(2k*pi/N)即可。 对原信号和四次滤波后的信号分别进行FFT变换,可以得到它们的幅度相应。最后,将四次滤波后的声音信号输出。 四、matlab代码 clc;clear;close all; [audio_data,fs]=wavread('SunshineSquare.wav'); %读取未处理声音 sound(audio_data,fs); N = length(audio_data); K = 0:2/N:2*(N-1)/N; %K为频率采样点

%sound(audio_data,fs); %进行一次FFT变换 FFT_audio_data=fft(audio_data); mag_FFT_audio_data = abs(FFT_audio_data); %画图 figure(1) %原信号时域 subplot(2,1,1);plot(audio_data);grid; title('未滤波时原信号时域');xlabel('以1/fs为单位的时间');ylabel('采样值'); %FFT幅度相位 subplot(2,1,2);plot(K,mag_FFT_audio_data);grid; title('原信号幅度');xlabel('以pi为单位的频率');ylabel('幅度'); %构造h[n]={1,A,1}的梳状滤波器,计算A=2cosW,妻子W为要滤掉的频率%由原信号频谱可知要分四次滤波,滤掉频响中幅度大的频率分量 %第一次滤波 a = [1,0,0,0];%y[n]的系数 [temp,k]=max(FFT_audio_data); A1=-2*cos(2*pi*k/N); h1=[1,A1,1]; audio_data_h1 = filter(h1,a,audio_data); FFT_audio_data_h1=fft(audio_data_h1);

西电数字信号处理大作业

第二章 2.25 已知线性时不变系统的差分方程为 若系统的输入序列x(x)={1,2,3,4,2,1}编写利用递推法计算系统零状态响应的MATLAB程序,并计算出结果。 代码及运行结果: >> A=[1,-0.5]; >> B=[1,0,2]; >> n=0:5; >> xn=[1,2,3,4,2,1]; >> zx=[0,0,0];zy=0; >> zi=filtic(B,A,zy,zx); >> yn=filter(B,A,xn,zi); >> figure(1) >> stem(n,yn,'.'); >> grid on;

2.28图所示系统是由四个子系统T1、T2、T3和T4组成的,分别用单位脉冲响应或差分方程描述为 T1: 其他 T2: 其他 T3: T4: 编写计算整个系统的单位脉冲响应h(n),0≤n≤99的MATLAB程序,并计算结果。 代码及结果如下: >> a=0.25;b=0.5;c=0.25; >> ys=0; >> xn=[1,zeros(1,99)]; >> B=[a,b,c]; >> A=1; >> xi=filtic(B,A,ys); >> yn1=filter(B,A,xn,xi); >> h1=[1,1/2,1/4,1/8,1/16,1/32]; >> h2=[1,1,1,1,1,1]; >> h3=conv(h1,h2); >> h31=[h3,zeros(1,89)]; >> yn2=yn1+h31; >> D=[1,1];C=[1,-0.9,0.81]; >> xi2=filtic(D,C,yn2,xi); >> xi2=filtic(D,C,ys); >> yn=filter(D,C,yn2,xi); >> n=0:99; >> figure(1) >> stem(n,yn,'.'); >> title('单位脉冲响应'); >> xlabel('n');ylabel('yn');

数字信号处理实验报告一

武汉工程大学 数字信号处理实验报告 姓名:周权 学号:1204140228 班级:通信工程02

一、实验设备 计算机,MATLAB语言环境。 二、实验基础理论 1.序列的相关概念 2.常见序列 3.序列的基本运算 4.离散傅里叶变换的相关概念 5.Z变换的相关概念 三、实验内容与步骤 1.离散时间信号(序列)的产生 利用MATLAB语言编程产生和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形表示。 四实验目的 认识常用的各种信号,理解其数字表达式和波形表示,掌握在计算机中生成及绘制数字信号波形的方法,掌握序列的简单运算及计算机实现与作用,理解离散时间傅里叶变换,Z变换及它们的性质和信号的频域分

实验一离散时间信号(序列)的产生 代码一 单位样值 x=2; y=1; stem(x,y); title('单位样值 ') 单位阶跃序列 n0=0; n1=-10; n2=10; n=[n1:n2]; x=[(n-n0)>=0]; stem(n,x); xlabel('n'); ylabel('x{n}'); title('单位阶跃序列');

实指数序列 n=[0:10]; x=(0.5).^n; stem(n,x); xlabel('n'); ylabel('x{n}'); title('实指数序列');

正弦序列 n=[-100:100]; x=2*sin(0.05*pi*n); stem(n,x); xlabel('n'); ylabel('x{n}'); title('正弦序列');

随机序列 n=[1:10]; x=rand(1,10); subplot(221); stem(n,x); xlabel('n'); ylabel('x{n}'); title('随机序列');

数字信号处理上机作业

数字信号处理上机作业 学院:电子工程学院 班级:021215 组员:

实验一:信号、系统及系统响应 1、实验目的 (1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。 (2) 熟悉时域离散系统的时域特性。 (3) 利用卷积方法观察分析系统的时域特性。 (4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。 2、实验原理与方法 (1) 时域采样。 (2) LTI系统的输入输出关系。 3、实验内容及步骤 (1) 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。 (2) 编制实验用主程序及相应子程序。 ①信号产生子程序,用于产生实验中要用到的下列信号序列: a. xa(t)=A*e^-at *sin(Ω0t)u(t) b. 单位脉冲序列:xb(n)=δ(n) c. 矩形序列: xc(n)=RN(n), N=10 ②系统单位脉冲响应序列产生子程序。本实验要用到两种FIR系统。 a. ha(n)=R10(n); b. hb(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3) ③有限长序列线性卷积子程序 用于完成两个给定长度的序列的卷积。可以直接调用MATLAB语言中的卷积函数conv。 conv 用于两个有限长度序列的卷积,它假定两个序列都从n=0 开始。调用格式如下: y=conv (x, h) 4、实验结果分析 ①分析采样序列的特性。 a. 取采样频率fs=1 kHz,,即T=1 ms。 b. 改变采样频率,fs=300 Hz,观察|X(e^jω)|的变化,并做记录(打印曲线);进一步降低采样频率,fs=200 Hz,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的|X(e^j ω)|曲线。 程序代码如下: close all;clear all;clc; A=50; a=50*sqrt(2)*pi; m=50*sqrt(2)*pi; fs1=1000; fs2=300; fs3=200; T1=1/fs1; T2=1/fs2; T3=1/fs3; N=100;

数字信号处理实验报告(同名22433)

《数字信号处理》 实验报告 课程名称:《数字信号处理》 学院:信息科学与工程学院 专业班级:通信1502班 学生姓名:侯子强 学号:0905140322 指导教师:李宏 2017年5月28日

实验一 离散时间信号和系统响应 一. 实验目的 1. 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解 2. 掌握时域离散系统的时域特性 3. 利用卷积方法观察分析系统的时域特性 4. 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号及系统响应进行频域分析 二、实验原理 1. 采样是连续信号数字化处理的第一个关键环节。对采样过程的研究不仅可以了解采样前后信号时域和频域特性的变化以及信号信息不丢失的条件,而且可以加深对离散傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。 对连续信号()a x t 以T 为采样间隔进行时域等间隔理想采样,形成采样信号: ?()()()a a x t x t p t = 式中()p t 为周期冲激脉冲,$()a x t 为()a x t 的理想采样。 ()a x t 的傅里叶变换为μ ()a X j Ω: 上式表明将连续信号()a x t 采样后其频谱将变为周期的,周期为Ωs=2π/T 。也即采样信 号的频谱μ()a X j Ω是原连续信号xa(t)的频谱Xa(jΩ)在频率轴上以Ωs 为周期,周期延拓而成 的。因此,若对连续信号()a x t 进行采样,要保证采样频率fs ≥2fm ,fm 为信号的最高频率,才可能由采样信号无失真地恢复出原模拟信号 计算机实现时,利用计算机计算上式并不方便,因此我们利用采样序列的傅里叶变换来实现,即 ()() n P t t nT δ∞ =-∞ = -∑μ1()()*() 21 ()n a a a s X j X j P j X j jn T π∞ =-∞ Ω=ΩΩ= Ω-Ω∑μ()()|j a T X j X e ωω=ΩΩ=

数字信号处理实验报告(实验1_4)

实验一 MATLAB 仿真软件的基本操作命令和使用方法 实验容 1、帮助命令 使用 help 命令,查找 sqrt (开方)函数的使用方法; 2、MATLAB 命令窗口 (1)在MATLAB 命令窗口直接输入命令行计算3 1)5.0sin(21+=πy 的值; (2)求多项式 p(x) = x3 + 2x+ 4的根; 3、矩阵运算 (1)矩阵的乘法 已知 A=[1 2;3 4], B=[5 5;7 8],求 A^2*B

(2)矩阵的行列式 已知A=[1 2 3;4 5 6;7 8 9],求A (3)矩阵的转置及共轭转置 已知A=[1 2 3;4 5 6;7 8 9],求A' 已知B=[5+i,2-i,1;6*i,4,9-i], 求B.' , B' (4)特征值、特征向量、特征多项式 已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征值、特征向量、特征多项式;

(5)使用冒号选出指定元素 已知:A=[1 2 3;4 5 6;7 8 9];求A 中第3 列前2 个元素;A 中所有列第2,3 行的元素; 4、Matlab 基本编程方法 (1)编写命令文件:计算1+2+…+n<2000 时的最大n 值;

(2)编写函数文件:分别用for 和while 循环结构编写程序,求 2 的0 到15 次幂的和。

5、MATLAB基本绘图命令 (1)绘制余弦曲线 y=cos(t),t∈[0,2π]

(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π] (3)绘制[0,4π]区间上的 x1=10sint 曲线,并要求: (a)线形为点划线、颜色为红色、数据点标记为加号; (b)坐标轴控制:显示围、刻度线、比例、网络线 (c)标注控制:坐标轴名称、标题、相应文本; >> clear;

数字信号处理作业+答案讲解

数字信号处理作业 哈尔滨工业大学 2006.10

DFT 习题 1. 如果)(~n x 是一个周期为N 的周期序列,那么它也是周期为N 2的周期序列。把)(~ n x 看作周期为N 的周期序列,令)(~ 1k X 表示)(~n x 的离散傅里叶级数之系数,再把)(~ n x 看作周期为N 2的周期序列,再令)(~ 2k X 表示)(~n x 的离散傅里叶级数之系数。当然,)(~ 1k X 是周期性的,周期为N ,而)(~ 2k X 也是周期性的,周期为N 2。试利用)(~ 1k X 确定)(~ 2k X 。(76-4)

2. 研究两个周期序列)(~ n x 和)(~ n y 。)(~ n x 具有周期N ,而)(~ n y 具有周期M 。序列 )(~n w 定义为)()()(~ ~~n y n x n w +=。 a. 证明)(~ n w 是周期性的,周期为MN 。 b. 由于)(~n x 的周期为N ,其离散傅里叶级数之系数)(~ k X 的周期也是N 。类似地, 由于)(~n y 的周期为M ,其离散傅里叶级数之系数)(~k Y 的周期也是M 。)(~ n w 的离散傅里叶级数之系数)(~ k W 的周期为MN 。试利用)(~ k X 和)(~ k Y 求)(~ k W 。(76-5)

3. 计算下列各有限长度序列DFT (假设长度为N ): a. )()(n n x δ= b .N n n n n x <<-=000)()(δ c .10)(-≤≤=N n a n x n (78-7) 4. 欲作频谱分析的模拟数据以10千赫速率被取样,且计算了1024个取样的离散傅里叶变换。试求频谱取样之间的频率间隔,并证明你的回答。(79 -10)

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

数字信号处理实验课程设计 题目:数字滤波器的设计与实现 一、课程设计目的 (1) 掌握用脉冲响应不变法和双线性变换法设计无限脉冲响应数字滤波器(IIR DF )的原理和方法; (2) 掌握用窗函数法和频率采样设计有限脉冲响应数字滤波器(FIR DF )的原理和方法; (3) 学会根据信号的频谱确定滤波器指标参数; (4) 学会调用MATLAB 信号处理工具箱中的滤波器设计函数设计IIR DF 和FIR DF 。 二、课程设计原理 已知一个连续时间信号())π2cos()π2sin(21t f t f t x +=,Hz 1001=f ,Hz 3002=f ,x (t )为两个单频信号叠加后的混合信号,其时域波形和幅频特性图如图1所示。由图可知,混合信号时域混叠,无法在时域进行分离,但是频域是分离的,可以通过设计合适的IIR DF 和FIR DF 将两个单频信号分离,形成两个单一频率信号。 -2-1 1 2 t/s x (t )(a)混合信号时域波 形 050100150200250 30035040045050000.5 1 f/Hz 幅度(b)混合信号幅频特性 图1混合信号x (t )及其频谱图 三、课程设计内容 设计低通滤波器和高通滤波器将两个单频信号分离。滤波器的通带截止频率和阻带截止频率通过观察x (t )的幅频特性图自行确定,设采样频率为Hz 1000=s f ,要求滤波器的通带最大衰减和阻带最小衰减分别为dB 50,dB 1s p ==αα。调用MATLAB 中的滤波器设计函数编写

程序设计低通滤波器和高通滤波器(其中,低通滤波器用脉冲响应不变法和双线性变换法两种方法设计,高通滤波器用窗函数法和频率采样法两种方法设计),并绘制滤波器的幅频特性图、经滤波分离后的信号时域波形图和幅频特性图,观察分离效果。 四、课程设计报告要求 课程设计报告应包含以下几个方面的内容: 1.课程设计目的 2.课程设计要求 3.课程设计过程(包括设计步骤、完整的程序及仿真图) 4.结果分析 5.心得体会、问题或者建议 6.参考文献

西南交大数字信号处理报告

信息科学与技术学院本科三年级 数字信号处理实验报告 2011 年12 月21日

实验一 序列的傅立叶变换 实验目的 进一步加深理解DFS,DFT 算法的原理;研究补零问题;快速傅立叶变换 (FFT )的应用。 实验步骤 1. 复习DFS 和DFT 的定义,性质和应用; 2. 熟悉MATLAB 语言的命令窗口、编程窗口和图形窗口的使用;利用提供的 程序例子编写实验用程序;按实验内容上机实验,并进行实验结果分析;写出完整的实验报告,并将程序附在后面。 实验内容 1. 周期方波序列的频谱试画出下面四种情况下的的幅度频谱,并分析补零后,对信号频谱的影响。 实验结果: 60 ,7)4(;60,5)3(; 40,5)2(;20,5)1()] (~[)(~,2,1,01 )1(,01,1)(~=========±±=???-+≤≤+-+≤≤=N L N L N L N L n x DFS k X m N m n L m N L m N n m N n x ) 52.0cos()48.0cos()(n n n x ππ+=

2. 有限长序列x(n)的DFT (1) 取x(n)(n=0:10)时,画出x(n)的频谱X(k) 的幅度; (2) 将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出 x(n)的频谱X(k) 的幅度; (3) 取x(n)(n:0~100)时,画出x(n)的频谱X(k) 的幅度。利用FFT 进行谱分析 已知:模拟信号 以t=0.01n(n=0:N-1)进行采样,求N 点DFT 的幅值谱。 请分别画出N=45; N=50;N=55;N=60时的幅值曲线。 实验结果: ) 8cos(5)4sin(2)(t t t x ππ+=

数字信号处理作业-答案

数字信号处理作业-答案

数字信号处理作业

DFT 习题 1. 如果)(~ n x 是一个周期为N 的周期序列,那么它也是周期为N 2的周期序列。把)(~ n x 看作周期为N 的周期序列,令)(~ 1 k X 表示)(~ n x 的离散傅里叶级数之系数,再把)(~ n x 看作周期为N 2的周期序列,再令)(~2 k X 表示)(~ n x 的离散傅里叶级数之系数。当然,)(~ 1 k X 是周期性的,周期为N ,而)(~ 2 k X 也是周期性的,周期为N 2。试利用)(~ 1k X 确定)(~ 2 k X 。(76-4)

2. 研究两个周期序列)(~ n x 和)(~ n y 。)(~ n x 具有周期N ,而)(~ n y 具有周期M 。序列)(~ n w 定义为)()()(~~ ~ n y n x n w +=。 a. 证明)(~ n w 是周期性的,周期为MN 。 b. 由于)(~ n x 的周期为N ,其离散傅里叶级数之系数)(~k X 的周期也是N 。类似地,由于)(~ n y 的周期为M ,其离散傅里叶级数之系数)(~ k Y 的周期也是M 。)(~n w 的离散傅里叶级数之系数)(~ k W 的周期为MN 。试利用)(~k X 和)(~k Y 求)(~ k W 。(76-5)

3. 计算下列各有限长度序列DFT (假设长度为N ): a. )()(n n x δ= b .N n n n n x <<-=0 0)()(δ c .10)(-≤≤=N n a n x n (78-7) 4. 欲作频谱分析的模拟数据以10千赫速率被取样,且计算了1024个取样的离散傅里叶变换。试求频谱取样之间的频率间隔,并证明你的回答。(79 -10)

数字信号处理实习报告

中国地质大学(武汉) 数字信号处理上机实习 学生姓名: 班级:071132 学号:2013100 指导老师:王晓莉

题目一 离散卷积计算 一、实验题目 设线性时不变(LTI )系统的冲激响应为h(n),输入序列为x(n) 1、h(n)=(0.8)n ,0≤n ≤4; x(n)=u(n)-u(n-4) 2、h(n)=(0.8)n u(n), x(n)=u(n)-u(n-4) 3、h(n)=(0.8)n u(n), x(n)=u(n) 求以上三种情况下系统的输出y(n),显示输入和输出波形。 二、实验目的 1.理解和掌握离散卷积计算; 2.学习如何用Mtalab 实现离散卷积计算。 三、算法设计 离散卷积定义为: ∑-∞ =-= n )()()(y k k n h k x n 1、n (0.8)=h(n),40≤≤n ,4)-u(n -u(n)=x(n), ∑∞ -∞ =-= *=m m n h m x n h n x n y )()()()()( (a) 当0

(b) 当30≤≤n 时,∑==n m n y 0 )((0.8)n ; (c) 当204≤≤n 时,∑ -== n 3)(n m n y (0.8)n ; (d) 当2321≤≤n 时,∑ -==20 3 )(n m n y (0.8)n ; (e) 当23>n 时,0)(=n y ; 3、)()8.0()(n u n h n =,)()(n u n x =,∑∞ -∞ =-= *=m m n h m x n h n x n y )()()()()( (a) 当0n 时,0)(=n y ; 四、程序分析 所用到的函数: (1)y=conv (x.,h ):卷积运算函数,计算)(*)()(n h n x n y =; (2)n1=0:4:n1取0~4; (3)subplot(m,n,p):subplot()函数是将多个图画到一个平面上的工具。其中,m 表示是图排成m 行,n 表示图排成n 列,也就是整个figure 中有n 个图是排成一行的,一共m 行,如果m=2就是表示2行图。p 表示图所在的位置,p=1表示从左到右从上到下的第一个位置。 (4)title(‘content ’):title()函数的功能是为当前坐标系添加标题“content ”。 五、程序设计 n=0:4; h=0.8.^n;

数字信号处理作业-2012

《数字信号处理Ⅰ》作业 姓名: 学号: 学院: 2012 年春季学期

第一章 时域离散信号和时域离散系统 月 日 一 、判断: 1、数字信号处理和模拟信号处理在方法上是一样的。( ) 2、如果信号的取值和自变量都离散,则称其为模拟信号。( ) 3、如果信号的取值和自变量都离散,则称其为数字信号。( ) 4、时域离散信号就是数字信号。( ) 5、正弦序列都是周期的。( ) 6、序列)n (h )n (x 和的长度分别为N 和M 时,则)n (h )n (x *的长度为N+M 。( ) 7、如果离散系统的单位取样响应绝对可和,则该系统稳定。( ) 8、若满足采样定理,则理想采样信号的频谱是原模拟信号频谱以s Ω(采样频率)为周期进行周期延拓的结果。( ) 9、序列)n (h )n (x 和的元素个数分别为21n n 和,则)n (h )n (x *有(1n n 21-+)个元素。( ) 二、选择 1、R N (n)和u(n)的关系为( ): A. R N (n)=u(n)-u(n-N) B. R N (n)=u(n)+u(n-N) C. R N (n)=u(n)-u(n-N-1) D. R N (n)=u(n)-u(n-N+1) 2、若f(n)和h(n)的长度为别为N 、M ,则f(n)*h(n)的长度为 ( ): A.N+M B.N+M-1 C.N-M D.N-M+1 3、若模拟信号的频率范围为[0,1kHz],对其采样,则奈奎斯特速率为( ): A.4kHz B. 3kHz C.2kHz D.1kHz 4、LTIS 的零状态响应等于激励信号和单位序列响应的( ): A.相乘 B. 相加 C.相减 D.卷积 5、线性系统需满足的条件是( ): A.因果性 B.稳定性 C.齐次性和叠加性 D.时不变性 6、系统y(n)=f(n)+2f(n-1)(初始状态为0)是( ): A. 线性时不变系统 B. 非线性时不变系统 C. 线性时变系统 D. 非线性时变系统

长沙理工数字信号处理大作业数字滤波器设计

IIR及FIR数字滤波器 一题干 对模拟信号进行低通滤波处理,要求通带0≤f≤4kHz,通带衰减小于0.5dB,阻带4.5k Hz≤f<∞,阻带衰减大于50dB,设采样频率Fs=20kHz。 (1)设计巴特沃斯模拟低通滤波器,求出Ha(s)的分子、分母多项式系数B和A,并画出幅频响应损耗函数曲线。 (2)分别用脉冲响应不变法和双线性变换法设计IIR低通数字滤波器,求出Ha(z) 的分子、分母多项式系数Bz和Az,并画出幅频响应损耗函数曲线 (3)采用窗函数法(分别用汉宁窗、哈明窗、布莱克曼窗函数)设计满足要求的FIR 低通滤波器,求出h(n),并画出幅频响应损耗函数曲线. (4)用频率采样法设计满足要求的FIR低通滤波器,求出h(n),并画出幅频响应损耗函数曲线。

二求解过程 具体内容如下: (1)设计巴特沃斯模拟低通滤波器,求出Ha(s)的分子、分母多项式系数B和A,并画出幅频响应损耗函数曲线。 程序: wp=2*pi*4000; ws=2*pi*5800; Rp=0.5; As=50; [N,wc]=buttord(wp,ws,Rp,As,'s'); [B,A]=butter(N,wc,'s'); k=0:511; fk=0:20000/512:20000; wk=2*pi*fk; Hk=freqs(B,A,wk); plot(fk/1000,20*log10(abs(Hk))); grid on xlabel('频率/kHz'); ylabel('幅度/dB'); axis([0,6,-65,5]); 波形图:

A = 1.0e+207 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0020 2.1576 B = 1.0e+207 * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.1576 N = 46

相关文档
最新文档