哈工大数字信号处理程序清单
数字信号处理实验报告实验三哈工程
实验三抽样3.1正弦信号混叠A.程序:>>nn=0:79;>>sinus=sin(2*pi*300/8000*nn); >>stem(nn,sinus).b.程序:>>plot(nn,sinus).c.>> nn=0:79;sinus=sin(2*pi*100/8000*nn); >> x1=sinus;>> nn=0:79;sinus=sin(2*pi*225/8000*nn); >> x2=sinus;>> nn=0:79;sinus=sin(2*pi*350/8000*nn); >> x3=sinus;>> nn=0:79;sinus=sin(2*pi*475/8000*nn); >> x4=sinus;>> subplot(411),stem(nn,x1); >> subplot(412),stem(nn,x2); >> subplot(413),stem(nn,x3); >> subplot(414),stem(nn,x4);3.3产生信号a,n=0:1000;f0=1000;fsim=80000;t=n./fsim;x=cos(2*pi*f0*n/fsim);subplot(211),stem(n,x);title('SAMPLES'),ylabel('x(t)'),xlabel('n'); subplot(212),plot(t,x);title('CONTINIOUS'),ylabel('x(t)'),xlabel('t') c.fmagplot函数m文件:function fmagplot(xa,dt)L=length(xa);Nfft=round(2.^round(log2(5*L)));Xa=fft(xa,Nfft);range=0:(Nfft/4);ff=range/Nfft/dt;plot(ff/1000,abs(Xa(1:length(range))))title('CONT-TIME FOURIER TRANSFORM(MAG)') xlabel('FREQUENCY(kHz)'),grid;Pausefmagplot(x,1/fsim)3.4 A/D转换a.fsim=80000;fs=8000;k=fsim/fs;n=0:1000;l=length(n);x=cos(2*pi*1000*n/fsim);y=x(1:k:l);L=length(y);n1=0:L-1;stem(n1,y)title('AD'),ylabel('x[n]'),xlabel('n')b.[H,W]=dtft(y,1000);plot(W,abs(H));title('DTFT AD'),ylabel('X(jw)'),xlabel('w')-40-30-20-1001020304000.20.40.60.811.21.4|H (j )|FREQUENCY(kHz)3.5设计一个重建滤波器B.fsim=80000;f0=1000;fs=8000;y2=zeros(1,L);for i=0:L1-1;y2(i*delta+1)=y(i+1);endfcut=2*(fs/2)/fsim;[b,a]=cheby2(9,60,fcut);x1=delta*filter(b,a,y2);[c,d]=freqz(b,a,1000,'whole');d(501:1000)=d(501:1000)-2*pi;d=fftshift(d);d=d/2/pi/1000*fsim;c=fftshift(c); plot(d,abs(c));ylabel('|H(j\omega)|');xlabel('FREQUENCY(k Hz)'); 3.6 D/A 转换:a. y2=zeros(1,L);for i=0:100; y2(i*10+1)=y(i+1);endyy=filter(b,a,y2);t=[0:0.001:1];plot(t,yy)ylabel('xr(t)'),xlabel('t') b.fmagplot(yy,0.0000125)3.7测试混叠function [x,x1,y,y1,y2]=testall(f0,fs,fsim)n=0:1000;fsim=80000;dt=1/fsim;t=n./fsim;x=cos(2*pi*f0*n/fsim);delta=round(fsim/fs);L=length(x);y1=zeros(1,L);y1(1:delta:L)=x(1:delta:L);y=x(1:delta:L);L1=length(y);n1=0:L1-1;Nfft=round(2.^round(log2(5*L)));Xa=fft(x,Nfft);range=0:(Nfft/4);ff=range/Nfft/dt;[H,W]=dtft(y,L);w1=W/2/pi/1000*fs;y2=zeros(1,L);for i=0:L1-1;y2(i*delta+1)=y(i+1);endfcut=2*(fs/2)/fsim; [b,a]=cheby2(9,60,fcut);x1=delta*filter(b,a,y2); M=length(x1);Nfft1=round(2.^round(log2(5*M)));X=fft(x1,Nfft1);024681012141618200100200300400500|X(j ω)|kHz024681012141618200100200300400500|Xr(j ω)|kHz range1=0:(Nfft1/4);ff1=range1/Nfft1/dt;subplot(223);plot(t,x1);grid;title('Xr(t)');xlabel('t'); subplot(224);plot(ff1/1000,abs(X(1:length(range1))));titl e('|Xr(j\omega)|');xlabel('kHz');subplot(221);plot(t,x);grid;title('X(t)');xlabel('t'); subplot(222);plot(ff/1000,abs(Xa(1:length(range))));title ('|X(j\omega)|');xlabel('kHz');a,b,f0=6kHzf0=7kHzf0=9kHz f0=10kHz f0=15kHz。
专业课程设计4-数字信号处理工作日程(1)
地点:物理楼316
〔自备电脑,检查程序〕
19周星期二
至
星期四
学生按照标准撰写课程设计说明书
分散进行
19周星期五
上午9:Байду номын сангаас0~10:00
提交课程设计说明书并进行辩论。指导教师根据学生的课程设计说明书及辩论情况给出百分制成绩
专业课程设计〔三〕工作日程安排表
时间
相关事宜
时间、地点安排
18周星期一
上午
布置任务书,安排相关事宜。
18周星期一
至
19周星期一
学生根据任务书的要求,查阅资料,独立设计模型〔包括熟悉matlab语言及软件环境〕。根据程序流程图设计程序
分散进行
19周星期二
上午9:00~11:00
1.完成模型的设计,进行预辩论。指导教师根据设计及辩论情况给出百分制成绩。
地点:物理楼502
19周星期五
指导教师根据学生预辩论成绩、程序设计及调试成绩和说明书及辩论成绩按照3:3:4的比例给出总成绩。
分散进行
哈尔滨工程大学数字信号处理实验四
t/T x (n )k X (k)t/T x (n)k X (k )一、 实验原理DFT 的快速算法FFT 利用了WN^(nk)的三个固有特性:(1)对称性,(WN^(nk))*=WN^(-nk),(2)周期性,WN^(nk)=WN^(n+N)k=WN^n(k+K),(3)可约性WN^(nk)=WmN^(nmk)和WN(nk)=WN/m^(nk/m)。
FFT 算法基本上可以分为两大类,即按时间抽选法和按频率抽选法。
MATLAB 中提供了进行快速傅里叶变换的fft 函数,X=fft(x),基2时间抽取FFT 算法,x 是表示离散信号的向量;X 是系数向量; X=fft(x ,N),补零或截断的N 点DFT ,当x 的长度小于N 时,对x 补零使其长度为N ,当x 的长度大于N 时,对x 截断使其长度为N 。
Ifft 函数计算IDFT ,其调用格式与fft 函数相同,参考help 文件。
例3.1程序及图形文件 >> k=8;>> n1=[0:19];>> xa1=sin(2*pi*n1/k); >> subplot(221) >> stem(n1,xa1)>> xlabel('t/T');ylabel('x(n)'); >> xk1=fft(xa1);>> xk1=abs(xk1);>> subplot(222)>> stem(n1,xk1)>> xlabel('k');ylabel('X(k)'); >> n2=[0:1:15]; >> xa2=sin(2*pi*n2/k); >> subplot(223) >> stem(n2,xa2)>> xlabel('t/T');ylabel('x(n)');>> xk2=fft(xa2);>> xk2=abs(xk2);>> subplot(224)>> stem(n2,xk2)>> xlabel('k');ylabel('X(k)');上两个图为N=20是的截取信号和DFT 结果,由于截取了两个半周期,频谱出现泄漏;下面的两个图为N=16时的截取信号和DFT 结果,由于截取了两个整周期,得到单一谱线的频谱。
哈尔滨工业大学威海校区_《数字信号处理》实验一
哈尔滨⼯业⼤学威海校区_《数字信号处理》实验⼀数字信号处理实验报告实验名称:实验⼀离散傅⾥叶变换的性质实验⽇期:2011.11.16姓名:尤伟学号:090240328哈尔滨⼯业⼤学(威海)实验⼀离散傅⾥叶变换的性质⼀、实验⽬的1、掌握离散傅⾥叶变换的性质,包括线性特性、时移特性、频移特性、对称性和循环卷积等性质;2、通过编程验证傅⾥叶变换的性质,加强对傅⾥叶变换性质的认识。
⼆、实验原理和⽅法1.线性特性1212D FT [()()]()()ax n bx n aX k bX k +=+ 2.时移特性DFT[()]()DFT[()]()km kmx n m W X k x n m WX k -+=-=3.频移特性()()nlN IDFT X k l IDFT X k W +=4. 对称性设由x(n)开拓成的周期序列为 ()p x n 则()()()p pe po x n x n x n =+ 偶序列()()()*12pe p p x n x n x N n ??=+-?奇序列()()()*12pop p x n x n x N n ??=--?? 将()pe x n 和()po x n 截取主周期,分别得()()()pet pe N x n x n R n = ()()()p o tp oN x n x n R n =则()()()()()p N pet pot x n x n R n x n x n ==+ x(n)序列的实部和虚部的离散⽴叶变换(){}()R e petD FT x n X k = (){}()Im potj x n Xk =[][]()()()()()()()()()()()arg ()arg ()R R R I I I X k X k X N k X k X k X N k X k X k X N k X k X N k X k X k * =-=-=-=-=--=--=-=-- 5.循环卷积()3123121()()()()()x n x n x n X k X k X k N=?=有限长序列线性卷积与循环卷积的关系 X1(n)和x2(n)的线性卷积:11312120()()()()()N m m x n x m x n m x m x n m -∞=-∞==-=-∑∑112()()N m x m xn m -==-∑将X1(n)和x2(n)开拓成以N 为周期的周期序列11()()p r x n x n rN ∞=-∞=+∑22()()p q x n x n qN ∞=-∞=+∑则它们的周期卷积为14120()()()N p p p m x n xm x n m -==-∑12()()N p m x m xn m -==-∑1120()()N m q x m x n m qN -∞==-∞=-+∑∑1120()()N q m x m x n qN m ∞-=-∞=??=+-∑∑ 3()q x n qN ∞=-∞=+∑X1(n)和x2(n)周期开拓后的周期卷积等于他们的线性卷积的的周期开拓。
数字信号处理实验程序应用清单(学生用)
实验一:系统响应及系统稳定性1. 实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及判断系统的稳定性。
2. 实验原理与方法描述系统特性有多种方式,时域描述有差分方程和单位脉冲响应,频域描述有系统函数和频率响应。
已知输入信号可以由差分方程、单位脉冲响应、系统函数或频率响应求系统输出信号。
(1)求系统响应 本实验仅在时域求系统响应。
在计算机上,已知差分方程可调用filter 函数求系统响应;已知单位脉冲响应可调用conv 函数计算系统响应。
(2)系统的时域特性 系统的时域特性是指系统的线性、时不变性质、因果性和稳定性。
本实验重点分析系统的稳定性,包括观察系统的暂态响应和稳态响应。
(3)系统的稳定性判断 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。
或者系统的单位脉冲响应满足绝对可和条件。
实际中,检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。
可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的。
(4)系统的稳态响应 系统的稳态输出是指当∞→n 时,系统的输出。
如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。
注意在以下实验中均假设系统的初始状态为零。
3.实验容及步骤(1)已知差分方程求系统响应 设输入信号 )()(81n R n x =,)()(2n u n x =。
已知低通滤波器的差分方程为 )1(9.0)1(05.0)(05.0)(-+-+=n y n x n x n y 。
试求系统的单位冲响应,及系统对)()(81n R n x =和)()(2n u n x =的输出信号,画出输出波形。
(2)已知单位脉冲响应求系统响应 设输入信号 )()(8n R n x =,已知系统的单位脉冲响应分别为)()(101n R n h =,)3()2(5.2)1(5.2)()(2-+-+-+=n n n n n h δδδδ,试用线性卷积法分别求出各系统的输出响应,并画出波形。
数字信号处理实验参考程序
实验一参考程序:1 产生10点的单位抽样序列δ(n);function unit_pulse(N)% unit_pulse.mN=10;x=zeros(1,N);x(1)=1;n=0:N-1;figure(1);stem(n,x);xlabel('单位抽样序列')axis([-1 20 0 1.1])2产生10点同时移位3位的单位抽样序列δ(n-3);function shift_unit_pulse(N,k)% shift_unit_pulse.mN=10;k=3;x=zeros(1,N);x(k+1)=1;n=0:N-1;figure(2);stem(n,x);xlabel('移位3位的单位抽样序列')axis([-1 10 0 1.1])function [x, n]=i shift_unit_pulse (n0,ns,nf)n=[0:9];x=[(n-3)==0]3产生任意序列f(n)=8δ(n)+7δ(n-1)+6δ(n-2) +5δ(n-3)+ 4δ(n-4)+7δ(n-5);function arbitrary_pulse(N)% arbitrary_pulse.mN=10x=zeros(1,N);x(1)=8;x(2)=7;x(3)=6;x(4)=5;x(5)=4;x(6)=7;n=0:N-1;figure(3);stem(n,x);xlabel('任意序列f(n)')axis([-1 10 0 9])4产生N=10点的单位阶跃序列function unit_step(N)% unit_step.mN=10;x=ones(1,N);n=0:N-1;figure(4);stem(n,x);xlabel('单位阶跃序列')axis([-1 15 0 1.1])5产生斜率为3,n0=4,点数为20点的斜坡序列g(n)=B(n-n0)function slope(N,k,B)% slope.mN=20;k=4;B=3;x=[zeros(1,k) ones(1,N-k)];for i=1:Nx(i)=B*x(i)*(i-k);endn=0:N-1;figure(5);stem(n,x);xlabel('斜坡序列')axis([-1 20 0 90])6产生幅度A=3,频率f=100,初始相位 =1.2,点数为32点的正弦序列。
哈尔滨工程大学信通学院数字信号处理实验8
E y
1 N
y下同。 (3) 均方值估计
1 E y yi N
2 N i 0
2
(4) 方差估计
D y
1 N
yi E yi
i 0
N
2
5、频谱分析原理
时域分析只能反映信号的幅值随时间的变化情况, 出单频率分量的简单波形外, 很难明 确提示信号的频率组成和各频率分量大小,而频谱分析能很好的解决此问题。 (1) DFT 与 FFT 对于给定的时域信号 y,可以通过 Fourier 变换得到频域信息 Y。Y 可按下式计算
5、频域分析 频域分析需要傅里叶变换,使用 MATLAB 提供的 FFT 函数 程序如下: from = str2double(get(findobj('Tag','edit19'),'String')); to = str2double(get(findobj('Tag','edit20'),'String')); Fs = str2double(get(findobj('Tag','sample'),'String')); temp2 = handles.y(from:to); H = fft(temp2,to-from+1); L = ceil(length(H)/2); n = 0:L-1; plot(handles.axes2,n/L*Fs/2/1000,2*sqrt(H(1:L).*conj((H(1:L))) ));
实验八
音频频谱仪设计与实现
一、 实验目的: 构建交互界面,具有播放声音文件,显示波形与频谱,并可测量声音时域参数。 二、实验原理 MATLAB 是一个数据分析和处理功能十分强大的工程实用软件,其数据采集工具箱为实 现数据的输入和输出提供了一个十分方便的函数和命令。 本实验要求基于声卡与 MATLAB 实 现音频信号频谱分析仪的设计原理与实现,功能包括: (1) 音频信号输入,从声卡输入、从 WAV 输入、从标准信号发生器输入; (2) 信号波形分析,包括幅值、频率、周期、相位的估计,以及统计量峰值、均值、 均方值和方差的计算; (3) 信号频谱分析,频率、周期的估计,图形显示幅值谱、相位谱、实频谱、虚频谱 和功率谱的曲线。 1、 频率(周期)检测 对周期信号来说,可以用时域波形分析来确定信号的周期,也就是计算相邻的两个信 号波峰的时间差、或过零点的时间差。这里采用过两点(ƒ)的时间差 T(周期) 。频率即为 f=1/T,由于能够求得多个 T 值(t 有多个) ,故采用它们的平均值作为周期的估计值。 2、 幅值检测 在一个周期内,求出信号最大值 Y 与最小值 Y 的差的一半,也会求出多个 A 值,但第 1 个 A 值对应的 y 和 y 不是在一个周期内搜索得到的, 故以除第 1 个意外的 A 值的平均作为 幅值的估计值。 3、 相位检测 采用过零法,即通过判断与同频零相位信号过零点时刻,计算其时间差,然后换成相
哈工大数字信号处理实验报告
H a r b i n I n s t i t u t e o f T e c h n o l o g y数字信号处理实验报告学生姓名:江世凯学号: 1122110307班级: 1221103专业:电子科学与技术任课教师:李杨所在单位:电子工程系2014年11月实验一、用FFT 作谱分析一、实验目的(1) 进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。
(2) 熟悉FFT 算法原理和FFT 子程序的应用。
(3) 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。
二、实验内容(1) 编制信号产生子程序, 产生以下典型信号供谱分析用:456()cos 4()sin8()cos8cos16cos 20x n n x n nx t t t tπππππ===++(2) 画出1 中所给出的信号,并逐个进行谱分析。
下面给出针对各信号的FFT 变换区间N 以及对连续信号x6(t)的采样频率fs , 供实验时参考。
x1(n), x2(n), x3(n), x4(n), x5(n): N=8, 16 x6(t): fs=64(Hz), N=16, 32, 64(n=0:1:69)(3) 令x(n)=x4(n)+x5(n), 用FFT 计算 8 点和 16 点离散傅里叶变换, X(k)=DFT [x(n)] (4) 令x(n)=x4(n)+jx5(n), 重复(2)。
1423()()1,03()847403()3470x n R n n n x n n n n n x n n n =⎧+≤≤⎪=-≤≤⎨⎪⎩-≤≤⎧⎪=-≤≤⎨⎪⎩三、程序框图图1.实验程序框图四、实验过程(1) 复习DFT 的定义、 性质和用DFT 作谱分析的有关内容。
(2) 复习FFT 算法原理与编程思想, 并对照DIT-FFT 运算流图和程序框图, 读懂本实验提供的FFT 子程序。
哈工程DSP专业课课件第三章
在应用实例一中,我们将介绍如何使用数字信号处理算法对信号进行处理。具体来说,我们将实现一个简单的滤 波器,该滤波器可以对信号进行低通滤波、高通滤波和带通滤波等操作。通过这个实例,我们将深入了解数字信 号处理算法的实现原理和应用方法。
应用实例二:数字滤波器设计
总结词
数字滤波器是数字信号处理中的重要组成部分,它可以有效地滤除信号中的噪声和干扰,提高信号的 清晰度和可靠性。
习题三解答
01
总结词:系统设计
02
总结:这道习题要求设计一个简单的 数字信号处理系统,包括信号的采集 、处理和输出。
03
详细描述:首先,需要确定系统的目 标和功能,选择合适的数字信号处理 器和相关硬件。然后,设计系统的数 据流和指令流,以及系统的控制流程 。在系统设计过程中,需要考虑系统 的实时性能、可靠性和可扩展性。最 后,需要对系统进行测试和验证,确 保其满足设计要求。
THANKS
感谢观看
习题二解答
01
总结词:算法实现
02
总结:这道习题要求实现一个简单的数字信号处理算法,如 离散傅里叶变换(DFT)或其快速算法(FFT)。
03
详细描述:首先,需要理解算法的基本原理和数学公式。然后, 根据算法原理,使用编程语言实现算法。在实现过程中,需要注 意算法的效率和精度,并尽可能优化算法性能。最后,需要对算 法进行测试和验证,确保其正确性和可靠性。
详细描述
在应用实例二中,我们将介绍如何设计数字滤波器。具体来说,我们将设计一个简单的低通滤波器和 一个带通滤波器。通过这个实例,我们将深入了解数字滤波器的设计原理和应用方法,并掌握如何根 据实际需求选择合适的滤波器类型和参数。
应用实例三:数字信号处理系统实现
数字信号处理实验程序
subplot(1,2,2);
plot(w/pi,magX);
xlabel('w/pi');
ylabel('|Y(jw)|');
title('上图信号的傅氏变换(|jw|)');
end
FF程序:
function c=FF(A,a,w,fs)
n=0:50-1;
%①时域采样序列分析
if(s==1)
l=1;
k=0;
while(l);
if(k==0)
A=input('please input the Amplitude:\n');
a=input('please input the Attenuation Coefficient:\n');
figure(i)
string=('hb(n)');
Hs=DFT(Hb,4,string);
Ys=Xs.*Hs;
y=conv(Xal,Hb);
N=53;
ylabel('|Ys(jw)|');
title('FT[xs(n)].FT[h(n)]');
end
end
end
s=input('Please Select The Stept Of Experiment:\n1(①时域采样序列分析),2(②系统和响应分析),3(③卷积定理的验证),0(退出):\n');
A=1;a=0.5;w=2.0734;fs=1
Xal=FF(A,a,w,fs);
i=i+1;
哈尔滨工业大学数字信号处理DSP-FFT
k k WNN / 2WN WN
(4-10)
这样,把式(4-8)、式(4-9)、式(4-10)代入式(4-5),就 可将X(k)表达为前后两部分:
k N
N X (k ) X 1 (k ) W X 2 (k ) k 0,1,, 1 (4-11) 2
N N X k X1 k W 2 2
W
这样可得到
N 1 2
N r k 2 N /2
rk WN / 2
N X 1 k x1 ( r )W 2 r 0
同理可得
N r k 2 N /2
x1 ( r )W
r 0
N 1 2
rk N /2
X 1 (k )
样,对计算速度的要求太高了。另外,只能通过改进对DFT的计
算方法,以大大减少运算次数。
4.2.2 改善途径 能否减少运算量,从而缩短计算时间呢?仔细观察DFT 的运算就可看出, 利用系数WNnk的以下固有特性,就可减少运 算量: (1) WNnk的对称性 (2) WNnk的周期性 (3) WNnk的可约性
第4章 快速傅里叶变换 Fast Fourier Transform ----FFT
4.1 引言
4.2 直接计算DFT的问题及改进的途径
4.3 按时间抽取(DIT)的基2-FFT算法
4.4 按频率抽取(DIF)的基2-FFT算法
4.5 利用FFT分析时域连续信号频谱 4.6 FFT的其他应用
4.1 引 言
N r 0,1,, 1 2
(4-4)
则可将DFT化为
nk X ( k ) DFT [ x ( n )] x ( n )WN n 0
哈工大数字信号处理选课名单(1)
6
7
8
2015秋季学期点名册
课程号:13SD05000310 课程名称:数字信号处理I 开课学院:电子与信息工程学院 任课教师:冀振元 上课时间:1-7周星期二第3,4节正心44,1-7周星期四第3,4节正心44,8-12周星期二第3,4节正心44,8-12周星期四第3,4节正心44 序号 1 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 学号 1120520303 1130520210 1130520211 1130520213 1130520214 1130520216 1130520217 1130520218 1130520219 1130520220 1130520221 1130520222 1130520223 1130520224 J130520201 1130520301 1130520302 1130520303 1130520304 1130520305 1130520306 1130520307 1130520308 1130520309 1130520310 1130520311 1130520312 1130520313 1130520314 1130520315 1130520316 1130520317 1130520318 1130520319 1130520320 1130520322 1130520323 姓名 高天雄 郭天骄 陈建中 黎衡 刘凯宇 杨杰 谌茜 黎煜婧 金程 黄翊杰 徐向勇 陶维晓 张振宇 刘刈 杨天韵 李宗泽 武丽娟 刘建新 高琴 闫淞 王韦玮 李佳芯 张昊东 池辛格 宋振雷 韩非桐 由俊威 陈雨薇 李晨昊 颜世鹏 徐旺 陈润泽 吕昆峰 马高磊 付伟 刘宇光 赵书健 姓别 男 男 男 男 男 男 女 女 男 男 男 女 男 男 女 男 女 男 女 男 女 女 男 男 男 女 男 女 男 男 男 男 男 男 男 男 男 学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 电子与信息工程学院 专业 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 电子信息工程 2/8 班级 1 1205203 1305202 1305202 1305202 1305202 1305202 1305202 1305202 1305202 1305202 1305202 1305202 1305202 1305202 1305202 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 1305203 2 3 4 5 学分:3 考勤 9 10 11 12秋季学期点名册
哈尔滨工业大学威海校区_《数字信号处理》实验三
数字信号处理实验报告实验名称:实验三FIR滤波器设计实验日期:2011.11.20姓名:尤伟学号:090240328哈尔滨工业大学(威海)实验三FIR滤波器设计一、实验目的1、熟悉FIR 滤波器设计的基本方法;2、掌握窗函数法设计FIR 滤波器的原理和方法;3、熟悉线性相位FIR 滤波器的幅频特性和相位特性;4、了解不同窗函数对滤波器性能的响应。
二、实验原理1、窗函数法设计FIR 滤波器原理采用理想滤波器的截断单位脉冲响应序列实现实际滤波器。
对理想低通滤波器的单位脉冲响应h(n)进行长度为N 的截取,得到长度为N 的序列h(n),截取时保证因果性和对滤波(d) 器线性相位的要求。
为减少吉布斯效应,对h(n)进行加窗,选择合适的窗函数以保证阻带衰减和过渡带要求。
注意窗函数的副瓣影响滤波器的阻带衰减,主瓣宽度影响滤波器的过渡带宽。
理想低通频率响应理想低通单位取样响应关于α偶对称,实序列全通系统的单位取样响应2、窗函数法设计FIR 低通过程1) 取理想低通单位取样响应的N 点,N 奇数(N-1 阶滤波器)2) 根据阻带衰减和过渡带要求选取窗函数—在保证阻带衰减满足要求的情况下,尽量选择主瓣窄的函数w(n)3) 得到加窗后的序列h(n)=hd(n)w(n) 。
w(n) 时关于(N-1)/2 偶对称,所以h(n)对称性取决于hd(n)4) 验证h(n)的频率响应是否满足设计要求。
若满足,则终止;否则重复2、3、4 步骤。
3、窗函数法设计高通高通= 全通—低通.与低通设计的不同只在第1)步骤,选取理想高通的单位取样响应序列N 点4、设计带通带通= 低通1 —低通2 带通截止频率为ωc1 >ωc2,选择低通1 截止频率ωc1,低通1 截止频率ωc2 5、设计带阻带阻= 低通+ 高通6、频率采样法设计FIR 滤波器原理若要求设计的滤波器Hd(ejw)公式复杂或者根本不能用封闭公式给出,对Hd(ejw)进行频率域取样,得到N 点离散取样值H(k), 用N 点频率取样值得到滤波器。
哈工大通信工程数字信号处理报告
实验一 用FFT 作谱分析一、 实验目的1.进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一 种快速算法,所以FFT 的运算结果必然满足DFT 的基本性质)。
2.熟悉FFT 算法原理和FFT 子程序的应用。
3.学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出 现的分析误差及其原因,以便在实际中正确应用FFT 。
二、 实验步骤1.复习DFT 的定义、性质和用DFT 作谱分析的有关内容。
复习FFT 算法原理与编程思想,并对照DIT —FFT 运算流图和程序框图, 2.读懂本实验提供的FFT 子程序。
3.编制信号产生子程序,产生以下典型信号供谱分析:()()n R n x 41=1+n , 30≤≤n()=n x 2 n -8, 74≤≤n 0 , 其它nn -4, 30≤≤n()=n x 3 3-n , 74≤≤n 0, 其它n()n n x 4cos 4π= ()n n x 8sin5π=()t t t t x πππ20cos 16cos 8cos 6++=应当注意,如果给出的是连续信号()t x a ,则首先要根据其最高频率确定采样速率s f 以及由频率分辨率选择采样点数N ,然后对其进行软件采样(即计算()()nTx n x a =,10-≤≤N n ),产生对应序列()n x 。
对信号()t x 6,频率分辨率的选择要以能分辨开其中的三个频率对应的谱线为准则。
对周期序列,最好截取周期的整数倍进行谱分析,否则有可能产生较大的分析误差。
4. 编写主程序下图给出了主程序框图,供参考。
本实验提供FFT 子程序和通用绘图子程序。
主程序框图三、 实验结果直接运行程序,按照实验内容及程序提示键入1~8,分别对()n x 1~()n x 6及()()()n x n x n x 547+=、()()()n jx n x n x 548+=进行谱分析。
输出()()n x n x 51~的波形及其8点DFT 和16点DFT ,()n x 6的16点、32点和64点采样序列及其DFT 。
数字信号处理实验程序清单
实验一: 系统响应及系统稳定性%实验1:系统响应及系统稳定性close all;clear all%======内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性==A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和Ax1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n)x2n=ones(1,128); %产生信号x2(n)=u(n)hn=impz(B,A,58); %求系统单位脉冲响应h(n)subplot(2,2,1);y='h(n)';tstem(hn,y); %调用函数tstem绘图title('(a) 系统单位脉冲响应h(n)');box ony1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n)subplot(2,2,2);y='y1(n)';tstem(y1n,y);title('(b) 系统对R8(n)的响应y1(n)');box ony2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n)subplot(2,2,4);y='y2(n)';tstem(y2n,y);title('(c) 系统对u(n)的响应y2(n)');box on%===内容2:调用conv函数计算卷积========x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n)h1n=[ones(1,10) zeros(1,10)];h2n=[1 2.5 2.5 1 zeros(1,10)];y21n=conv(h1n,x1n);y22n=conv(h2n,x1n);figure(2)subplot(2,2,1);y='h1(n)';tstem(h1n,y); %调用函数tstem绘图title('(d) 系统单位脉冲响应h1(n)');box onsubplot(2,2,2);y='y21(n)';tstem(y21n,y);title('(e) h1(n)与R8(n)的卷积y21(n)');box onsubplot(2,2,3);y='h2(n)';tstem(h2n,y); %调用函数tstem绘图title('(f) 系统单位脉冲响应h2(n)');box onsubplot(2,2,4);y='y22(n)';tstem(y22n,y);title('(g) h2(n)与R8(n)的卷积y22(n)');box on%=========内容3:谐振器分析================un=ones(1,256); %产生信号u(n)n=0:255;xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49]; %系统差分方程系数向量B和Ay31n=filter(B,A,un); %谐振器对u(n)的响应y31(n)y32n=filter(B,A,xsin); %谐振器对u(n)的响应y31(n)figure(3)subplot(2,1,1);y='y31(n)';tstem(y31n,y);title('(h) 谐振器对u(n)的响应y31(n)');box onsubplot(2,1,2);y='y32(n)';tstem(y32n,y);title('(i) 谐振器对正弦信号的响应y32(n)');box ontstem 程序清单function tstem(xn,yn)%时域序列绘图函数% xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串)n=0:length(xn)-1;stem(n,xn,'.');box onxlabel('n');ylabel(yn);axis([0,n(end),min(xn),1.2*max(xn)])实验二时域采样与频域采样1 时域采样理论的验证程序清单% 时域采样理论验证程序exp2a.mTp=64/1000; %观察时间Tp=64微秒%产生M长采样序列x(n)% Fs=1000;T=1/Fs;Fs=1000;T=1/Fs;M=Tp*Fs;n=0:M-1;A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5;xnt=A*exp(-alph*n*T).*sin(omega*n*T);Xk=T*fft(xnt,M); %M点FFT[xnt)]yn='xa(nT)';subplot(3,2,1);tstem(xnt,yn); %调用自编绘图函数tstem绘制序列图box on;title('(a) Fs=1000Hz');k=0:M-1;fk=k/Tp;subplot(3,2,2);plot(fk,abs(Xk));title('(a) T*FT[xa(nT)],Fs=1000Hz');xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))])%========================================% Fs=300Hz和Fs=200Hz的程序与上面Fs=1000Hz完全相同。
哈尔滨工程大学数字信号处理五
一、 实验原理信号时无限长的,而在进行信号处理时只能采用有限长信号,所以需要将信号“截断”。
在信号处理中,“截断”被看成是用一个有限长的“窗口”看无限长的信号,或者从分析的角度是无限长的信号x(t)乘以有现场的窗函数我、w(t),由傅里叶变换的性质可知 X(t)w(t)→1/2Πx(jw)*W(jw).如果x(t)是频宽有限信号,而w(t)是频宽无限信号,截断后信号也必须是频宽无限信号,从而产生所谓的频谱泄漏。
频谱泄漏是不可避免的,但要尽量减小,因为加窗后,是原来的信号集中在窄频带内的能量分散到无限的频宽范围。
MATLAB 信号处理工具箱提供了8 种窗函数,调用格式分别为:(N 为窗长度,w 为返回的窗函数)(1)boxcar()产生矩形窗,调用格式:w=boxcar(N)(2)函数Hanning()用于产生汉宁窗,调用格式:w=hanning(N) (3)函数hamming()用于产生汉明窗,调用格式为:w=hamming(N) (4)函数bartlett()用于产生巴特利窗,调用格式为:w=bartlett (N)(5)函数blackman()用于产生布莱克曼窗,调用格式为:w=blackman(N) (6)函数traing()用于产生traing 窗,调用格式为:w=traing (N) (7)函数kaiser()用于产生kaiser 窗,调用格式为:w=kaiser (N)(8)函数chebwin()用于产生切比雪夫窗,调用格式为:w=chebwin(N)二、实验内容1.用MATLAB 编程绘制各种窗函数的形状 程序集图形文件如下: (1) 矩形窗 >> N=10;>> w=boxcar(N); >> nn=[0:N-1]; >> plot(nn,w);(2) 汉宁窗 >> N=10;>> w=hanning(N); >> nn=[0:N-1]; >> plot(nn,w);(3) 汉明窗 >> N=10;>> w=hamming(N); >> nn=[0:N-1]; >> plot(nn,w);(4) 巴特利窗 >> N=10;>> w=bartlett(N); >> nn=[0:N-1]; >> plot(nn,w);(5) 布莱克曼窗 >> N=10;>> w=blackman(N); >> nn=[0:N-1]; >> plot(nn,w);0123456789(6) traing 窗 >> N=10;>> w=triang(N); >> nn=[0:N-1]; >> plot(nn,w);(7) kaiser 窗 >> N=10;>> w=kaiser(N); >> nn=[0:N-1]; >> plot(nn,w);(8) 切比雪夫窗>> N=10;>> w=chebwin(N); >> nn=[0:N-1]; >> plot(nn,w);-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5w a b s -0.5-0.4-0.3-0.2-0.100.10.20.30.40.5wp h a s e -0.5-0.4-0.3-0.2-0.100.10.20.30.40.5w a b swp h a se -0.5-0.4-0.3-0.2-0.100.10.20.30.40.5wa b swp h a s e2.用MATLAB 编程绘制各种窗函数的幅频相应,程序集图形文件如下: (1) 矩形窗 >> N=10;>> w=boxcar(N); >> [X,W]=dtft(w,50);>> subplot(211)>> plot(W/2/pi,abs(X)) >> xlabel('w'),ylabel('abs') >> subplot(212) >> plot(W/2/pi,180/pi*angle(X)) >> xlabel('w'),ylabel('phase')(2) 汉宁窗>> N=10;>> w=hanning(N);>> [X,W]=dtft(w,50);>> subplot(211)>> plot(W/2/pi,abs(X)) >> xlabel('w'),ylabel('abs') >> subplot(212)>> plot(W/2/pi,180/pi*angle(X))>> xlabel('w'),ylabel('phase')(3) 汉明窗 >> N=10;>> w=hamming(N); >> [X,W]=dtft(w,50); >> subplot(211)>> plot(W/2/pi,abs(X))>> xlabel('w'),ylabel('abs')>> subplot(212)>> plot(W/2/pi,180/pi*angle(X))>> xlabel('w'),ylabel('phase')-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5wa b s-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5wp h a s ewa b swp h a se-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5wa b swp h a s e(4) 巴特利窗 >> N=10;>> w=bartlett(N); >> [X,W]=dtft(w,50); >> subplot(211)>> plot(W/2/pi,abs(X)) >> xlabel('w'),ylabel('abs') >> subplot(212)>> plot(W/2/pi,180/pi*angle(X)) >> xlabel('w'),ylabel('phase')(5) 生布莱克曼窗 >> N=10;>> w=blackman(N); >> [X,W]=dtft(w,50); >> subplot(211)>> plot(W/2/pi,abs(X)) >> xlabel('w'),ylabel('abs') >> subplot(212)>> plot(W/2/pi,180/pi*angle(X)) >> xlabel('w'),ylabel('phase')(6) traing 窗 >> N=10;>> w=triang(N); >> [X,W]=dtft(w,50); >> subplot(211)>> plot(W/2/pi,abs(X)) >> xlabel('w'),ylabel('abs') >> subplot(212)>> plot(W/2/pi,180/pi*angle(X)) >> xlabel('w'),ylabel('phase')-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5wa b s-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5wp h a s e-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5wa b s-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5wp h a s e-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5wa b s(7) kaiser 窗 >> N=10;>> w=kaiser(N); >> [X,W]=dtft(w,50); >> subplot(211)>> plot(W/2/pi,abs(X)) >> xlabel('w'),ylabel('abs') >> subplot(212)>> plot(W/2/pi,180/pi*angle(X)) >>xlabel('w'),ylabel('phase')(8) 切比雪夫窗 >> N=10;>> w=chebwin(N); >> [X,W]=dtft(w,50); >> subplot(211)>> plot(W/2/pi,abs(X)) >> xlabel('w'),ylabel('abs') >> subplot(212)>> plot(W/2/pi,180/pi*angle(X)) >> xlabel('w'),ylabel('phase')3.绘制矩形窗信号的幅频响应,窗长度分别为,N=10,N=20,N=50,N=100 N=10时>> N=10;>> w=boxcar(N);>> [X,W]=dtft(w,50);>> subplot(111)>> plot(W/2/pi,abs(X))>> xlabel('w'),ylabel('abs')wa b s-0.5-0.4-0.3-0.2-0.10.10.20.30.40.5-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5wa b sN=20时 >> N=20;>> w=boxcar(N);>> [X,W]=dtft(w,100); >> plot(W/2/pi,abs(X)) >> xlabel('w'),ylabel('abs')N=50时 >> N=50;>> w=boxcar(N);>> [X,W]=dtft(w,100); >> plot(W/2/pi,abs(X)) >> xlabel('w'),ylabel('abs')N=100时 >> N=100;>> w=boxcar(N);>> [X,W]=dtft(w,100); >> plot(W/2/pi,abs(X)) >> xlabel('w'),ylabel('abs')-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5t=0.9*T0wa b s-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5t=1.1*T0w a b s4.已知周期信号x(t)=0.75+3.4cos2πft+2.7cos4πft+1.5sin3.5πft+2.57πft,其中f=25/16Hz,若截断时间长度分别为信号周期的0.9和1.1倍,试绘制和比较采用下面窗函数提取的x(t)的频谱。
哈工程 数字信号处理实验 实验一
实验一 基本信号一:实验原理使用MATLAB 内部向量程序来产生信号。
用MATLAB 的stem 指令绘出离散时间信号.用MATLAB 的stem 指令会出离散时间信号。
依据MATLAB 的编址约定,标号n=0必须对应nn (1);必须给指定向量的第一个参数以得到正确的n 轴。
二:实验内容2.正弦信号X 【n 】=Acos (ωn+ρ)使用MATLAB 的向量功能求解此问题,将向量赋予余弦或正弦函数,再利用一个函数调用。
在每种指定区间上展开并标注水平轴n 轴。
使用stem 指令显示每个序列。
A .X ₁【n 】=sin (πn /17) 0≤n ≤25 B .X ₂【n 】=sin (πn /17) -15≤n ≤25 C .X ₃【n 】=sin (3πn ﹢π/2) -10≤n ≤10 D . X ₄【n 】=sin (πn /√23) 0≤n ≤503.指数信号衰减的指数信号是数字信号处理中的基本信号,因为它是线性常系数方程的解。
A.利用functions 研究下面的MATLAB 函数,看他如何产生离线指数信号。
然后是用函数在区间n=0,1,2,3,. . . ,20上绘出指数信号x 【n 】=(0.9)ⁿ。
B.指数信号序列a ⁿu 【n 】须在有限区间上求和。
这个和以下面闭合时表示: a a a L nL n --=∑-=1110C.指数序列在信号处理中常常出现的一个原因是,时移并不改变其信号特征。
Y【n】=ay【n-1】,1≤n≤L-1D.产生指数信号另外的方法是使用查分方程给出的递归表示式。
当输入x【n】是一个冲击信号的时候,信号y【n】=aⁿu【n】是下面查分方程的解:y【n】-a【n-1】=x【n】,初始条件y【-1】=0三.实验程序2.正弦函数A.n=0:0.01:25y=sin(pi*n/17)plot(n,y)ylabel(‘y= sin(pi*n/17)’)gridgtext(‘n’)B.n=-15:0.01:25y=sin(pi*n/17)plot(n,y)ylabel(‘y= sin(pi*n/17)’)gridgtext(‘n’)C. n=-10:0.01:10y=sin(3*pi*n+pi/2)ylabel(‘y= sin(3*pi*n+pi/2)’)gridgtext(‘n’)D. n=0:0.01:50y=cos(pi*n/(23^0.5))plot(n,y)ylabel(‘cos(pi*n/(23^0.5)’)gridgtext(‘n’)3.指数信号A function y = genexp( b, n0, L)%GENEXP generate an exponential signal:b^n% usage:Y = genexp(B,N0,L)% B input scalar giving ratio between terns% N0 starting index (integer)% L length of geberated signal% Y output signal Y(1:L)if( L <= 0 )error('GENEXP:length not positive')endnn = n0 + [1 : L]'-1; %---vector of indices y =b .^ nn;endn=0:9;x1=genexp(0.9,0,20)stem(n,x1,'b')B. function y=signal(a,n0,L)if(L<=0)error('SIGNAL:length not positive') endnn=n0+[1:L]'-1y=(1-a.^nn)/(1-a)endu1=genexp(0.9,0,21)ss(1)=0;for i=1:19ss(i+1)=u1(i)+ss(i);endss(19)nn=[1:21]'-1;a=0.9y=(1-a.^nn)/(1-a)C. format compact, subplot(111)n=0:20;m=1:21;x1=genexp(0.9,0,21)subplot(211)stem(n,x1,'b')sum(x1(:))grid,title('Test1_3_3_1')x2=0.9*genexp(0.9,0,21)subplot(212)stem(m,x2,'b')grid,title('Test1_3_3_2')四.结果分析1.正弦函数A.BCD3.A.B.x1 =1.00000.90000.81000.72900.65610.59050.53140.47830.43050.38740.34870.31380.28240.25420.22880.20590.18530.16680.15010.13510.1216ans =8.9058用题目所给公式所求结果为8.9058,结果一致。
哈工大数字信号处理大作业 (2)(word文档良心出品)
数字信号处理上机实验报告学号:姓名:实验题目一1. 实验要求:序列卷积计算(1)编写序列基本运算函数,序列相加、相乘、翻转、求和;(2)使用自定义函数计算序列线性卷积,并与直接计算结果相比较。
两个序列分别为:() 1,05 0,others n nx n≤≤⎧=⎨⎩,()2,030,othersn nx n≤≤⎧=⎨⎩2. 实验过程和步骤:包含题目分析,实验程序和流程图(程序要有必要的注释)3. 实验结果和分析:包含程序运行结果图,结果分析和讨论(一)基本运算函数1.原序列2.序列相加序列相加程序function [y,n]=sigadd(x1,n1,x2,n2)%implements y(n)=x1(n)+x2(n)%---------------------------------------------% [y,n] = sigadd(x1,n1,x2,n2)% y = sum sequence over n, which includes n1 and n2% x1 = first sequence over n1% x2 = second sequence over n2 (n2 can be different from n1)%n=min(min(n1),min(n2)):max(max(n1),max(n2)); %duration of y(n) y1=zeros(1,length(n));y2=y1;y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; %x1 with duration of y y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; %x2 with duration of y y=y1+y2; %sequence addition3.序列相乘序列相乘程序function [y,n]=sigmult(x1,n1,x2,n2)%implements y(n)=x1(n)*x2(n)%---------------------------------------------% [y,n] = sigmult(x1,n1,x2,n2)% y = product sequence over n, which includes n1 and n2% x1 = first sequence over n1% x2 = second sequence over n2 (n2 can be different from n1)%n=min(min(n1),min(n2)):m(min(n1),min(n2)) %duration of y(n)y1=zeros(1,length(n));y2=y1;y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; %x1 with duration of y y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; %x2 with duration of y y=y1.*y2; %sequence multiplication4.序列翻转序列翻转程序function [y,n]=sigfold(x, n)%implements y(n)=x(-n)%--------------------------------------------- % [y,n] = sigfold(x,n)%y=fliplr(x);n=-fliplr(n);5.序列移位序列移位程序function [y,n]=sigshift(x,m,n0)%implements y(n)=x(n-n0)%--------------------------------------------- % [y,n] = sigshift(x,m,n0)%n=m+n0;y=x;主程序x1=[0:5];x2=[0,1,2,3];n1=0:5;n2=0:3;%N=n1+n2-1;figure(1)subplot(211)stem(x1)xlabel('x1')subplot(212)stem(x2)xlabel('x2')title('原序列')x= sigadd(x1,n1,x2,n2);figure(2)stem(x)xlabel('x1+x2')title('序列相加')figure(3)[x,n] = sigfold(x1,n1);stem(n,x)xlabel('x1(-n)')title('序列翻转')[x,n] = sigshift(x,n,2);figure(4)stem(n,x)xlabel('x1(-n+2)')title('序列移位')x= sigmult(x1,n1,x2,n2);figure(5)stem(x)title('序列相乘')xlabel('x1*x2')(二)自定义函数计算线性卷积1.题目分析使用上一题中的序列相乘、翻转和求和子函数计算线性卷积,并与这直接用conv 函数计算的线性卷积结果相比较。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验程序及结果:(1)矩形窗clear all;n=0:1:14;wR=ones(1,15);hd=sin(0.25*pi*(n-7+eps))./(pi*(n-7+eps));h1=hd.*wR; N=64;H1=fft(h1,N);n=0:N-1;w=2*pi/64*n;subplot(2,2,1);plot(w,fftshift(20*log10((abs(H1))))); gridxlabel('w/rad')ylabel('20lg|H(jw)|/dB')title('幅度曲线和相频曲线(n=15)');n=0:N-1;w=2*pi/64*n;subplot(2,2,3);plot(w,unwrap(phase(H1)));xlabel('w/rad')clear all;n=0:1:32;wR=ones(1,33);hd=sin(0.25*pi*(n-16+eps))./(pi*(n-16+eps));h1=hd.*wR;N=64;H1=fft(h1,N);n=0:N-1;w=2*pi/64*n;subplot(2,2,2);plot(w,fftshift(20*log10((abs(H1)))));gridxlabel('w/rad')ylabel('20lg|H(jw)|/dB')title('幅度曲线和相频曲线(n=33)');n=0:N-1;w=2*pi/64*n;subplot(2,2,4);plot(w,unwrap(phase(H1))); xlabel('w/rad')(2)汉宁窗clear all;n=0:1:14;wH=0.5*(1-cos(2*pi/14*n));hd=sin(0.25*pi*(n-7+eps))./(pi*(n-7+eps)); h1=hd.*wH;N=64;H1=fft(h1,N);n=0:N-1;w=2*pi/64*n;subplot(2,2,1);plot(w,fftshift(20*log10((abs(H1)))));gridxlabel('w/rad')ylabel('20lg|H(jw)|/dB');title('幅度曲线和相频曲线(n=15)');n=0:N-1;w=2*pi/64*n;subplot(2,2,3);plot(w,unwrap(phase(H1)));gridxlabel('w/rad')n=0:1:32;wH=0.5*(1-cos(2*pi/32*n));hd=sin(0.25*pi*(n-16+eps))./(pi*(n-16+eps)); h1=hd.*wH;N=64;H1=fft(h1,N);n=0:N-1;w=2*pi/64*n;subplot(2,2,2);plot(w,fftshift(20*log10((abs(H1)))));gridxlabel('w/rad')ylabel('20lg|H(jw)|/dB')title('幅度曲线和相频曲线(n=33)');n=0:N-1;w=2*pi/64*n;subplot(2,2,4);plot(w,unwrap(phase(H1))); gridxlabel('w/rad')3.海明窗n=0:1:14;wH=0.54-0.46*cos(2*pi*n/(14+eps));hd=sin(0.25*pi*(n-7+eps))./(pi*(n-7+eps));h1=hd.*wH;N=64;H1=fft(h1,N);n=0:N-1;w=2*pi/64*n;subplot(2,2,1);plot(w,fftshift(20*log10((abs(H1)))));gridxlabel('w/rad')ylabel('20lg|H(jw)|/dB')title('幅度曲线和相频曲线(n=15)');n=0:N-1;w=2*pi/64*n;subplot(2,2,3);plot(w,unwrap(phase(H1)));gridxlabel('w/rad')n=0:1:32;wH=0.54-0.46*cos(2*pi*n/(32+eps));hd=sin(0.25*pi*(n-16+eps))./(pi*(n-16+eps)); h1=hd.*wH; N=64;H1=fft(h1,N);n=0:N-1;w=2*pi/64*n;subplot(2,2,2);plot(w,fftshift(20*log10((abs(H1))))); gridxlabel('w/rad')ylabel('20lg|H(jw)|/dB')title('幅度曲线和相频曲线(n=33)');n=0:N-1;w=2*pi/64*n;subplot(2,2,4);plot(w,unwrap(phase(H1)));gridxlabel('w/rad')n=0:1:14;wH=0.54-0.46*cos(2*pi*n/(14+eps));hd=sin(0.25*pi*(n-7+eps))./(pi*(n-7+eps));h1=hd.*wH;N=64;H1=fft(h1,N);n=0:N-1;w=2*pi/64*n;subplot(2,2,1);plot(w,fftshift(20*log10((abs(H1)))));gridxlabel('w/rad')ylabel('20lg|H(jw)|/dB')title('幅度曲线和相频曲线(n=15)');n=0:N-1;w=2*pi/64*n;subplot(2,2,3);plot(w,unwrap(phase(H1)));gridxlabel('w/rad')n=0:1:32;wH=0.54-0.46*cos(2*pi*n/(32+eps));hd=sin(0.25*pi*(n-16+eps))./(pi*(n-16+eps)); h1=hd.*wH; N=64;H1=fft(h1,N);n=0:N-1;w=2*pi/64*n;subplot(2,2,2);plot(w,fftshift(20*log10((abs(H1)))));gridxlabel('w/rad')ylabel('20lg|H(jw)|/dB')title('幅度曲线和相频曲线(n=33)');n=0:N-1;w=2*pi/64*n;subplot(2,2,4);plot(w,unwrap(phase(H1)));gridxlabel('w/rad')(4)布莱克曼窗n=0:1:14;wB=0.42-0.5*cos(2*pi/(14+eps)*n)+0.08*cos(4*pi/(14+eps)*n); hd=sin(0.25*pi*(n-7+eps))./(pi*(n-7+eps));h1=hd.*wB;N=64;H1=fft(h1,N);n=0:N-1;w=2*pi/64*n;subplot(2,2,1);plot(w,fftshift(20*log10((abs(H1)))));gridxlabel('w/rad')ylabel('20lg|H(jw)|/dB')title('幅度曲线和相频曲线(n=15)');n=0:N-1;w=2*pi/64*n;subplot(2,2,3);plot(w,unwrap(phase(H1)));gridxlabel('w/rad')n=0:1:32;wB=0.42-0.5*cos(2*pi/(32+eps)*n)+0.08*cos(4*pi/(32+eps)*n); hd=sin(0.25*pi*(n-16+eps))./(pi*(n-16+eps));h1=hd.*wB;N=64;H1=fft(h1,N);n=0:N-1;w=2*pi/64*n;subplot(2,2,2);plot(w,fftshift(20*log10((abs(H1)))));gridxlabel('w/rad')ylabel('20lg|H(jw)|/dB')title('幅度曲线和相频曲线(n=33)');n=0:N-1;w=2*pi/64*n;subplot(2,2,4);plot(w,unwrap(phase(H1)));gridxlabel('w/rad') 结果图像:。