分享
分销 收藏 举报 申诉 / 36
播放页_导航下方通栏广告

类型北理工数字信号处理实验报告.docx

  • 上传人:Fis****915
  • 文档编号:555325
  • 上传时间:2023-12-10
  • 格式:DOCX
  • 页数:36
  • 大小:800.36KB
  • 下载积分:6 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    北理工 数字信号 处理 实验 报告
    资源描述:
    本科实验报告 实验名称: 数字信号处理实验 课程名称: 数字信号处理实验 实验时间: 周二8~10节 任课教师: 范哲意 实验地点: 4—423 实验教师: 范哲意 实验类型: □ 原理验证 □ 综合设计 □ 自主创新 学生姓名: 任科飞 学号/班级: 1120121159/05111251 组 号: 学 院: 信息与电子 同组搭档: 专 业: 信息工程 成 绩: 实验1 利用DFT分析信号频谱 一、实验目的 1.加深对DFT原理的理解。 2.应用DFT分析信号频谱。 3.深刻理解利用DFT分析信号频谱的原理,分析现实过程现象及解决办法。 二、实验原理 1、DFT和DTFT的关系 有限长序列的离散时间傅里叶变换在频率区间的N个等分点上的N个取样值可以由下式表示: 由上式可知,序列的N点DFT,实际上就是序列的DTFT在N个等间隔频率点上样本。 2、利用DFT求DTFT 方法1:由恢复出的方法如图2.1所示: 图 2.1.由 N点DFT恢复频谱DTFT的流程 由图2.1所示流程图可知: 由式2-2可以得到 其中为内插函数 方法2:然而在实际MATLAB计算中,上诉插值公式不见得是最好的方法。由于DFT是DTFT的取样值,其相邻的两个频率样本点的间距为,所以如果我们增加数据的长度N,使得得到的DFT谱线就更加精细,其包络就越接近DTFT的结果,这样可以利用DFT来近似计算DTFT。如果没有更多的数据,可以通过补零来增加数据长度。 3、利用DFT分析连续时间信号的频谱 采用计算机分析连续时间信号的频谱,第一步就是把连续时间信号离散化,这里需要进行连个操作:一是采样,二是截断。 对于连续非周期信号,按采样间隔T进行采样,截取长度为M,那么 对进行N点的频率采样,得到 因此,可以将利用DFT分析连续非周期信号频谱的步骤归纳如下: (1)确定时域采样间隔T,得到离散序列; (2)确定截取长度M,得到M点离散序列,这里的为窗函数。 (3)确定频域采样点数N,要求。 (4)利用FFT计算离散序列的N点DFT,得到。 (5)根据式(2-6)由计算采样点的近似值。 采用上诉方法计算的频谱,需要注意如下三点问题: (1)频谱混叠。如果不满足采样定理的条件,频谱会很出现混叠误差。对于频谱无限宽的信号,应考虑覆盖大部分主要频率的范围。 (2)栅栏效应和频谱分辨率。使用DFT计算频谱,得到的结果只是N个频谱样本值,样本值之间的频谱是未知的,就像通过一个栅栏观察频谱,称为“栅栏效应”。频谱分辨率与记录长度成正比,提高频谱分辨率,就要增加记录时间。 (3)频谱泄露。对于信号截断会把窗函数的频谱会引入到信号频谱中,造成频谱泄露。解决这问题的主要办法是采用旁瓣小的窗函数,频谱泄露和窗函数均会引起误差。 因此,要合理选取采样间隔和截取长度,必要时还需考虑适当的窗。 对于连续周期信号,我们在采用计算机进行计算时,也总是要进行截断,序列总是有限长的,仍然可以采用上诉方法近似计算。 4、可能用到MATLAB函数与代码 实验中的DFT运算可以采用MATLAB中提供的FFT来实现。 DTFT可以利用MATLAB矩阵运算的方法进行计算。 三、实验内容 1. ,完成如下要求: (1)计算其DTFT,并画出区间的波形。 (2)计算4 点DFT,并把结果显示在(1)所画的图形中。 (3)对补零,计算64 点DFT,并显示结果。 (4)是否可以由DFT 计算DTFT,如果可以,请编程实现。 2. 考察序列 (1)时,用DFT 估计的频谱;将补零加长到长度为100点序列用DFT 估计的频谱。要求画出相应波形。 (2)时,用DFT 估计x(n)的频谱,并画出波形。 3. 已知信号 ,其中,,。从的表达式可以看出,它包含三个频率的正弦波,但是,从其时域波形来看,似乎是一个正弦信号,利用DFT做频谱分析,确定适合的参数,使得到的频谱的频率分辨率符合需要。 4.利用DFT近似分析连续时间信号xt=e-0.1tu(t)的频谱(幅度谱)。分析采用不同的采样间隔和截取长度进行计算的结果,并最终确定合适的参数。 四、实验代码及实验结果 第一题 实验代码 x = [2, -1, 1, 1]; n = 0 : 3; n1 = 0 : 63; z = zeros(1,60); x1 = [x z]; y = fft(x); y1 = fft(x1); w = -pi : 0.01 * pi : pi; X = x * exp(-j * n' * w); subplot(211); plot(w, abs(X)); xlabel('\Omega/\pi'); title('Magnitude'); hold on; stem(n, y, 'filled'); axis tight; subplot(212); plot(w, angle(X)/pi); xlabel('\Omega/\pi'); title('Phase'); axis tight; figure; stem(n1, y1, 'filled'); 实验结果 分析 可以由DFT计算DTFT。增加补零的个数,提高采样密度,可以由DFT近似计算DTFT。 第二题 实验代码 n = 0 : 10; x = cos(0.48 * pi * n) + cos(0.52 * pi * n); n1 = 0 : 99; n2 = 0 : 100; z = zeros(1, 89); x1 = [x z]; x2 = cos(0.48 * pi * n2) + cos(0.52 * pi * n2); y = fft(x); y1 = fft(x1); y2 = fft(x2); subplot(211); stem(n, y, 'filled'); title('0<=n<=10'); subplot(212); stem(n1, y1, 'filled'); title('0<=n<99'); figure; stem(n2, y2, 'filled'); title('0<=n<=100'); 实验结果 (3)分析 可以通过增大截取长度和增加补零的个数来提高频谱分辨率,但是补零不能够增加分辨力。 第三题 实验代码 >> n=0:39; >> x1=0.15*sin(2*pi*n)+sin(4*pi*n)-0.1*sin(6*pi*n); >> X1=fft(x1,40); >> subplot(311) >> stem(n,abs(X1)); >> x2=0.15*sin(2*pi*(1/6)*n)+sin(4*pi*(1/6)*n)-0.1*sin(6*pi*(1/6)*n); >> X2=fft(x2,40); >> subplot(312) >> stem(n,abs(X2)); >> x3=0.15*sin(2*pi*0.1*n)+sin(4*pi*0.1*n)-0.1*sin(6*pi*0.1*n); >> X3=fft(x3,40); >> subplot(313) >> stem(n,abs(X3)); 实验结果 分析:减小采样周期,可以使频谱分辨率提高。 第四题 实验代码 n=0:100; x=exp(-0.1*n); X1=fft(x); k=0:100; stem(k,abs(X1)); xlabel('k'); 实验结果 实验代码 n=0:2:100; x=exp(-0.1*n); X2=fft(x); k=0:50; stem(k,abs(X2)); xlabel('k'); 实验结果 实验代码 >> n=0:50; x=exp(-0.1*n); X3=fft(x); k=0:50; stem(k,abs(X3)); xlabel('k'); 实验结果 实验代码 >> n=0:2:50; x=exp(-0.1*n); X4=fft(x); k=0:25; stem(k,abs(X4)); xlabel('k'); 实验结果 实验代码 >> n=0:150; x=exp(-0.1*n); X5=fft(x); k=0:150; stem(k,abs(X5)); xlabel('k'); 实验结果 实验代码 >> n=0:2:150; x=exp(-0.1*n); X5=fft(x); k=0:75; stem(k,abs(X5));xlabel('k'); 实验结果 分析:采样区间可以为0到100,采样间隔为2。 五、心得与体会 通过本次实验,我们掌握并加深对DFT原理的理解并且学会应用DFT分析信号频谱,在此基础上利用DFT分析信号频谱的原理,掌握了分析现实现象的步骤及办法。 并且,通过这次的实验,我对DFT的原理确实有了更深的了解,对DFT和DTFT之间的关系也有了更多的认识:序列x(n)的N点DFT X(K),实际上就是x(n)序列的DTFT在N个等间隔频率点上的样本X(K)。所以,我们可以通过增加数据的长度N或通过补零来使DFT更加接近DTFT的结果。这样就可以利用DFT近似计算DTFT。 实验2 利用FFT计算线性卷积(选作) 一、实验目的 1.掌握利用FFT计算线性卷积的原理及具体实现方法。 2.加深理解重叠相加法和重叠保留法。 3.考察利用FFT计算线性卷积各种方法的适用范围。 二、实验原理 1.线性卷积与圆周卷积 设x(n)为L点序列,h(n)为M点序列,x(n)和h(n)的线性卷积为 (3-1) 的长度为L+M-1 x(n)和h(n)的圆周卷积为 (3-2) 圆周卷积与线性卷积相等而不产生交叠的必要条件为 N≥L+M+1 (3-3) 圆周卷积定理:根据DFT性质,x(n)和h(n)的N点圆周卷积的DFT等于它们的DFT的乘积: (3-4) 2.快速卷积 快速卷积发运用圆周卷积实现线性卷积,根据圆周卷积定理利用FFT算法实现圆周卷积。可将快速卷积运算的步骤归纳如下: (1)必须选择;为了能使用基-2算法,要求。采用补零的办法使得x(n)和h(n)的长度均为N。 (2)计算x(n)和h(n)的N点FFT。 (3)组成乘积 (4)利用IFFT计算Y(k)的IDFT,得到线性卷积y(n) 3.分段卷积 我们考察单位取样响应为h(n)的线性系统,输入为x(n),输出为y(n),则 yn=xn*h(n) 当输入序列x(n)极长时,如果要等x(n)全部集齐时再开始进行卷积,会使输出有较大延时;如果序列太长,需要大量存储单元。为此,我们把x(n)分段,为别求出每段的卷积,合在一起得到最后的总输出。这称为分段卷积。分段卷积可以细分为重叠保留法和重叠相加法。 重叠保留法:设x(n)的长度为,h(n)的长度为M。把序列x(n)分成多段N点序列,每段雨前一段重写M-1个样本。并在第一个输入段前面补M-1个零。计算每一段与h(n)的圆周卷积,其结果中前M-1个不等与线性卷积,应当舍去,只保留后面N-M+1个正确的输出样本,把它们合起来得到总的输出。 利用FFT实现重叠保留法的步骤如下: (1)在x(n)前面填充M-1个零,扩大以后的序列为 (2)将x(n)分为若干段N点子段,设L=N-M+1为每一段的有效长度,则第i段的数据为: (3)计算每一段与h(n)的N点圆周卷积,利用FFT计算圆周卷积 (4)舍去每一段卷积结果的前M-1个样本,连接剩下的样本得到卷积结果y(n)。 重叠相加法:设h(n)长度为M,将信号x(n)分解成长为L的子段。以表示没断信号,则: 每一段卷积的长度为L+M-1,所以在做求和时,相邻两段序列由M-1个样本重叠,即前一段的最后M-1个样本和下一段前M-1个样本序列重叠,这个重叠部分相加,再与不重叠的部分共同组成y(n)。 利用FFT实现重叠保留法的步骤如下: (1)将x(n)分为若干L点子段。 (2)计算每一段与h(n)的卷积,根据快速卷积法利用FFT计算卷积。 (3)将各段相加,得到输出y(n)。 4、可能得到的MATLAB函数 实验中FFT运算可采用MATLAB中提供的函数fft来实现。 三、实验内容 假设要计算序列x(n)=u(n)-u(n-L),0≤n≤L和h(n)=cos(0.2πn),0≤n≤M的线性卷积完成以下实验内容。 1.设L=M,根据线性卷积的表达式和快速卷积的原理分别编程实现计算两个序列线性卷积的方法,比较当序列长度分别为8,16,32,64,256,512,1024时两种方法计算线性卷积所需时间。 2.当L=2048且M=256时比较直接计算线性卷积和快速卷积所需的时间,进一步考察当L=4096且M=256时两种算法所需的时间。 3. 编程实现利用重叠相加法计算两个序列的线性卷积,考察L=2048且M=256时计算线性卷积的时间,与2题的结果进行比较。 4. 编程实现利用重叠保留法计算两个序列的线性卷积,考察L=2048且M=256时计算线性卷积的时间,与2题的结果进行比较。 四、实验代码及实验结果 第一题 实验代码 L = input('length='); n1 = 0 : 2 * L - 1; n2 = 0 : L - 1; x = ones(1, L); h = cos(0.2 * pi * n2); z = zeros(1, L - 1); x1 = [x z]; h1 = [h z]; tic; y1 = conv(x, h); toc; tic; X = fft(x1); H = fft(h1); Y = X .* H; y = ifft(Y); toc; 实验结果(第一行为线性卷积,第二行为FFT) L=8 M=8 时间已过 0.232076 秒。 时间已过 0.087391 秒。 L=16 M=16 时间已过 0.000332 秒。 时间已过 0.000098 秒。 L=32 M=32 时间已过 0.000150 秒。 时间已过 0.000051 秒。 L=64 M=64 时间已过 0.289400 秒。 时间已过 0.000758 秒。 L=256 M=256 时间已过 0.000238 秒。 时间已过 0.000169 秒。 L=512 M=512 时间已过 0.000455 秒。 时间已过 0.000235 秒。 L=1024 M=1024 时间已过 0.001132 秒。 时间已过 0.000922 秒。 分析:可见在在相同长度下,快速卷积比线性卷积快差不多一倍的时间。 第二题 实验代码 实验结果:(第一行为线性卷积,第二行为FFT) L=2048 M=256 时间已过0.012061秒。 时间已过0.000581秒。 分析:快速卷积比线性卷积快。 第三题 Lx=input('L='); M=input('M='); N=M+1; x=1; y=1; for i=1:L-1 x=[1 x]; y=[y cos(0.2*pi*i)]; end x=[x,zeros(1,N-1)]; t=zeros(1,M-1); Y=zeros(1,Lx+M-1); a=floor(Lx/N); tic for k=0:a A=x(k*N+1:k*N+N); y1=fft(A,Lx+M-1); y2=fft(h,Lx+M-1); y3=y1.*y2; q=ifft(y3,Lx+M-1); Y(k*N+1:k*N+M-1)=q(1:M-1)+t(1:M-1); Y(k*N+M:k*N+N)=q(M:N); t(1:M-1)=q(N+1:N+M-1); end toc 实验结果: L=2048 M=256 时间已过0.007656秒。 分析:较第2题结果快。 第四题 实验代码: Lx=input('L='); M=input('M='); N=M+1; x=1; y=1; for i=1:L-1 x=[1 x]; y=[y cos(0.2*pi*i)]; end M1=M-1; L=N+M1; h=[h,zeros(1,N-M)]; x=[zeros(1,M1),x,zeros(1,N-1)]; a=floor ((Lx+M1-1)/(L))+1; Y=zeros(1,N); tic for k=0:a-1 xk=x(k*L+1:k*L+N); b=fft(xk,N); C=fft(h,N); Z=b.*C; Y(k+1,:)=ifft(Z,N); end toc L=2048 M=256 实验结果: L=2048 M=256 时间已过0.002848秒。 分析:较第2题结果快。 五、心得与体会 本次实验要求我们掌握利用FFT计算线性卷积的原理及具体实现方法,通过实验加深理解重叠相加法和重叠保留法并考察利用FFT计算线性卷积各种方法的适用范围。 本次实验让我切实看到了FFT算法的高效性及对于庞大的数据的处理实时性,同时对重叠保留法、重叠相加法也有了更深的认识,对以后的实验有了很好的理论基础,受益颇多。 实验3 IIR数字滤波器设计 一、实验目的 1.掌握利用脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理及具体方法。 2.加深理解数字滤波器和模拟滤波器之间的技术指标转化。 3.掌握脉冲响应不变法和双线性变换法设计IIR数字滤波器的优缺点及适用范围。 二、实验内容 1.设采样频率为fs =4kHz,采用脉冲响应不变法设计一个三阶巴特沃斯数字低通滤波器,其3dB截止频率为fc=1kHz。 2.设采样频率为fs=10kHz,设计数字低通滤波器,满足如下指标 通带截止频率:fp=1kHz,通带波动:Rp=1dB 阻带截止频率:fst=1.5kHz,阻带衰减:As=15dB 要求分别采用巴特沃斯、切比雪夫I型、切比雪夫II型和椭圆模拟原型滤波器及脉冲响应不变法进行设计。结合实验结果,分别讨论采用上述设计的数字滤波器是否都能满足给定指标要求,分析脉冲响应不变法设计IIR数字滤波器的优缺点及适用范围。 四、实验代码及实验结果 实验代码: 巴特沃斯: fp = 1000; fs = 1500; f = 10000; Wp = 2 * pi * fp; Ws = 2 * pi * fs; wp = 2 * f * tan(2 * pi * fp / (2 * f)); ws = 2 * f * tan(2 * pi * fs / (2 * f)); Rp = 1; As = 15; N1 = ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(Wp/Ws))); N2 = ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(wp/ws))); OmegaC1 = Wp / ((10 ^ (Rp / 10) - 1) ^ (1 / (2 * N1))); OmegaC2 = wp / ((10 ^ (Rp / 10) - 1) ^ (1 / (2 * N2))); [z, p, k] = buttap(N1); b1 = k * OmegaC1 ^ N1; a1 = poly(p * OmegaC1); [H, w] = freqs(b1, a1); subplot(221); plot(w/pi, abs(H)); grid on; xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|');title('°ÍÌØÎÖ˹Âö³åÂö³åÏìÓ¦²»±ä'); subplot(223); plot(w/pi, angle(H)); grid on; xlabel('\Omega(\pi)');ylabel('Phase of H(j\Omega)|');title('°ÍÌØÎÖ˹Âö³åÂö³åÏìÓ¦²»±ä'); [b2, a2] = butter(N2, OmegaC2, 's'); [H, w] = freqs(b2, a2); subplot(222); plot(w/pi, abs(H)); axis tight; grid on; xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|');title('°ÍÌØÎÖ˹˫ÏßÐԱ任'); subplot(224); plot(w/pi, angle(H)); grid on; xlabel('\Omega(\pi)');ylabel('Phase of H(j\Omega)|');title('°ÍÌØÎÖ˹˫ÏßÐԱ任'); 实验结果: 切比雪夫Ⅰ型: fp = 1000; fs = 1500; f = 10000; Wp = 2 * pi * fp; Ws = 2 * pi * fs; wp = 2 * f * tan(2 * pi * fp / (2 * f)); ws = 2 * f * tan(2 * pi * fs / (2 * f)); Rp = 1; As = 15; e = (10 ^ (Rp / 10) - 1) ^ 0.5; N1 = ceil(acos(((As * As) - 1) ^ 0.5 / e) / acos(Ws / Wp)); N2 = ceil(acos(((As * As) - 1) ^ 0.5 / e) / acos(ws / wp)); [b1, a1] = cheby1(N1, Rp, Ws, 's'); [H, w] = freqs(b1, a1); subplot(221); plot(w/pi, abs(H)); grid on; xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|');title('ÇбÈÑ©·ò1Âö³åÂö³åÏìÓ¦²»±ä'); subplot(223); plot(w/pi, angle(H)); grid on; xlabel('\Omega(\pi)');ylabel('Phase of H(j\Omega)|');title('ÇбÈÑ©·ò1Âö³åÂö³åÏìÓ¦²»±ä'); [b2, a2] = cheby1(N2, Rp, ws, 's'); [H, w] = freqs(b2, a2); subplot(222); plot(w/pi, abs(H)); grid on; xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|');title('ÇбÈÑ©·ò1Ë«ÏßÐԱ任'); subplot(224); plot(w/pi, angle(H)); grid on; xlabel('\Omega(\pi)');ylabel('Phase of H(j\Omega)|');title('ÇбÈÑ©·ò1Ë«ÏßÐԱ任'); 实验结果: 切比雪夫Ⅱ型: fp = 1000; fs = 1500; f = 10000; Wp = 2 * pi * fp; Ws = 2 * pi * fs; wp = 2 * f * tan(2 * pi * fp / (2 * f)); ws = 2 * f * tan(2 * pi * fs / (2 * f)); Rp = 1; As = 15; e = (10 ^ (Rp / 10) - 1) ^ 0.5; K = Wp / Ws; k1 = e / ((As * As) - 1) ^ 0.5; k = wp / ws; N1 = ceil(ellipke(K) * ellipke((1 - k1) ^ 0.5) / (ellipke(k1) * ellipke((1 - K) ^ 0.5))); N2 = ceil(ellipke(k) * ellipke((1 - k1) ^ 0.5) / (ellipke(k1) * ellipke((1 - k) ^ 0.5))); [b1, a1] = ellip(N1, Rp, As, Ws, 's'); [H, w] = freqs(b1, a1); subplot(221); plot(w/pi, abs(H)); grid on; xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|');title('ÍÖÔ²Âö³åÂö³åÏìÓ¦²»±ä'); subplot(223); plot(w/pi, angle(H)); grid on; xlabel('\Omega(\pi)');ylabel('Phase of H(j\Omega)|');title('ÍÖÔ²Âö³åÂö³åÏìÓ¦²»±ä'); [b2, a2] = ellip(N2, Rp, As, ws, 's'); [H, w] = freqs(b2, a2); subplot(222); plot(w/pi, abs(H)); grid on; xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|');title('ÍÖԲ˫ÏßÐԱ任'); subplot(224); plot(w/pi, angle(H)); grid on; xlabel('\Omega(\pi)');ylabel('Phase of H(j\Omega)|');title('ÍÖԲ˫ÏßÐԱ任'); 实验结果: 椭圆型: fp = 1000; fs = 1500; f = 10000; Wp = 2 * pi * fp; Ws = 2 * pi * fs; wp = 2 * f * tan(2 * pi * fp / (2 * f)); ws = 2 * f * tan(2 * pi * fs / (2 * f)); Rp = 1; As = 15; e = (10 ^ (Rp / 10) - 1) ^ 0.5; K = Wp / Ws; k1 = e / ((As * As) - 1) ^ 0.5; k = wp / ws; N1 = ceil(ellipke(K) * ellipke((1 - k1) ^ 0.5) / (ellipke(k1) * ellipke((1 - K) ^ 0.5))); N2 = ceil(ellipke(k) * ellipke((1 - k1) ^ 0.5) / (ellipke(k1) * ellipke((1 - k) ^ 0.5))); [b1, a1] = ellip(N1, Rp, As, Ws, 's'); [H, w] = freqs(b1, a1); subplot(221); plot(w/pi, abs(H)); grid on; xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|');title('ÍÖÔ²Âö³åÂö³åÏìÓ¦²»±ä'); subplot(223); plot(w/pi, angle(H)); grid on; xlabel('\Omega(\pi)');ylabel('Phase of H(j\Omega)|');title('ÍÖÔ²Âö³åÂö³åÏìÓ¦²»±ä'); [b2, a2] = ellip(N2, Rp, As, ws, 's'); [H, w] = freqs(b2, a2); subplot(222); plot(w/pi, abs(H)); grid on; xlabel('\Omega(\pi)');ylabel('|H(j\Omega)|');title('ÍÖԲ˫ÏßÐԱ任'); subplot(224); plot(w/pi, angle(H)); grid on; xlabel('\Omega(\pi)');ylabel('Phase of H(j\Omega)|');title('ÍÖԲ˫ÏßÐԱ任'); 实验结果: 分析:脉冲响应不变法的优点是频率坐标的变换是线性的,因此如果模拟滤波器的频响是限带于折叠频率以内的话,通过变换后的数字滤波器的频响可以不失真地反映原响应与频率之间的关系。但是,其最大的缺点是有频谱的周期延拓效应,会产生混叠失真。故,脉冲响应不变法只能用于限带的频响特性,如衰减特性较好的低通,或带通,而且高频衰减越大,频响的混叠效应就越小。双线性变换法的优点是消除了脉冲响应不变法的固有的混叠失真,但缺点是频率变换之间的非常严重的非线性,会使变换后时域上的图像产生非常严重的失真。 五、心得与体会 通过实验,我学习了利用脉冲响应不变法设计IIR数字滤波器的基本原理为:从时域响应出发,使数字滤波器的单位脉冲响应h(n)模仿模拟滤波器的单位冲激响应ha(t),h(n)等于ha(t)的取样值。所以设计中,应先根据数字指标转换来的模拟指标,设计模拟滤波器,再利用impinvar函数实现脉冲响应不变法模拟滤波器到数字滤波器的变换。 脉冲响应不变法和双线性法设计IIR数字滤波器是非常实用的技能,也会时我对DSP这门课程有更深刻的理解和认识。 本次实验最大的收获是了解了多种模拟滤波器到数字滤波器的转换方法。通过实验,确实巩固了课本知识。完成实验报告的过程中,查阅了相关资料,不仅开拓了知识面,更加深了对本部分知识的理解。 实验4 频率取样法设计FIR数字滤波器 一、实验目的 掌握频率取样法设计FIR数字滤波器的原理及具体方法 二、实验原理 1、基本原理 频率取样法从频域出发,把理想的滤波器等间隔采样得到,将作为实际设计滤波器的。 (8-1) 得到以后可以由来确定唯一确定滤波器的单位脉冲响应,可以由求得: (8-2、3) 其中为内插函数 (8-4) 由求得的频率响应将逼近 如果我们设计的是线性相位FIR滤波器,则的幅度和相位满足线性相位滤波器的约束条件。 我们将表示为如下形式: (8-5) 当为实数,则 由此得到 (8-6) 即为中心偶对称。在利用线性相位条件可知,对于1型和2型线性相位滤波器 (8-7) 对于3型和4型线性相位滤波器 (8-8) 其中,x表示取小于该数的最大的整数。 设计步骤 (1)由给定的理想滤波器给出和。 (2)由求得 (3) 根据求得或 三、实验内容 1. 设计一个数字低通FIR滤波器,其技术指标如下: ω_p=0.2π,R_p=0.25dB ω_st=0.3π,A_s=50dB 分别采用矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗设计该滤波器。结合实验结果分别讨论上述方法设计的数字滤波器是否符合指标。 2. 设计一个数字带通FIR滤波器,其技术指标如下: 3. 采用频率取样设计法设计FIR数字低通滤波器,满足以下指标 ω_p=0.2π,R_p=0.25dB ω_st=0.3π,A_s=50dB (1)取N=20,过渡带没有样本。 (2)取N=40,过渡带有一个样本,T=0.39。 (3)取N=60,过渡带有两个样本,T1=0.5925, T2=0.1099。 (4)分别采用上述方法设计的数字滤波器是否都能满足给定的指标要求。 4. 采用频率取样技术设计下面的高通滤波器 ω_st=0.6π,A_s=50dB ω_p=0.8π,R_p=1dB 对于高通滤波器,N必须为奇数(或1型滤波器)。选择N=33,过渡带有两个样本,过渡带样本最优值为T1=0.1095,T2=0.598。 四、实验代码及实验结果 第一题 矩形窗: 实验代码: wp = 0.2 * pi; wst = 0.3 * pi; tr_width = wst - wp; N = ceil(1.8 * pi / tr_width) + 1; n = 0 : N - 1; wc = (wp + wst) / 2; alpha = (N - 1) / 2; hd = (wc / pi) * sinc((wc / pi) * (n - alpha)); w_boxcar = boxcar(N)'; h = hd .* w_boxcar; subplot(221);stem(n, hd, 'filled'); axis tight; xlabel('n'); ylabel('hd(n)'); [Hr, w1] = zerophase(h); subplot(222); plot(w1/pi, Hr); axis tight; xlabel('\omega/\pi'); ylabel('H(\omega)'); subplot(223); stem(n, h, 'filled'); axis tight; xlabel('n'); ylabel('h(n)'); [H, w] = freqz(h, 1); subplot(224); plot(w / pi, 20 * log10(abs(H) / max(abs(H)))); xlabel('\omega/\pi'); ylabel('dB'); grid on; 实验结果: 分析:阻带的衰减小于50db,所以,不符合指标。 汉宁窗: 实验代码: wp = 0.2 * pi; wst = 0.3 * pi; tr_width = wst - wp; N = ceil
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:北理工数字信号处理实验报告.docx
    链接地址:https://www.zixin.com.cn/doc/555325.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork