• 整机评测
  • 专项体验
  • 对比评测
  • 拆机
  • 手机
  • 5G
  • 软件
  • 发布会
  • 小道消息
  • 专题
  • 导购
  • 行情
  • 手机报价
  • 产品大全
  • 品牌大全
  • 当前位置: 天一资源网 > 实验 正文

    数字信号处理matlab实验报告材料:数字信号处理实验3

    时间:2020-07-21 12:54:25 来源:天一资源网 本文已影响 天一资源网手机站

     ___计算机__学院_网络工程__专业___3__班 学号_3116005027__

     ________铠光________ 教师评定_________________

     实验题目___________数字信号处理实验_____________

     实验三、FIR数字滤波器设计

     一、实验目的1、熟悉FIR滤波器的设计过程。

     2、能够根据滤波器设计指标设计不同的滤波器。

     3、熟悉FDATool,SPTool的一般操作。

     二、实验环境

     Matlab信号处理工具箱。

     三、实验容

     1、用模拟原型法设计法与窗函数法分别设计一个IIR和FIR低通滤波器F1, F2,并满足性能指标:通带归一化频率wp=0.5,阻带归一化频率ws=0.6,阻带衰减不小于40dB,通带波纹不大于3dB。假设一个信号S,其中f1=8Hz,f2=21Hz。信号采样频率为50Hz。试将原信号与通过滤波器的信号进行比较。

     要求:画出滤波器的幅频相应图,滤波前后对比图。

     wp=0.5*pi;ws=0.6*pi;rs=40;rp=3;

     T=0.02;Nn=128; %采样间隔

     wp=wp/T;ws=ws/T;

     [N,Wn]=buttord(wp,ws,rp,rs,'s'); %计算模拟滤波器的最小阶数

     [z,p,k]=buttap(N); %设计低通原型数字滤波器

     [Bap,Aap]=zp2tf(z,p,k); %零点极点增益形式转换为传递函数形式

     [b,a]=lp2lp(Bap,Aap,Wn);%低通滤波器的频率转换

     [bz,az]=impinvar(b,a,1/T);%脉冲响应不变法设计数字滤波器传递函数

     figure(1)

     [H,f]=freqz(bz,az,Nn,1/T);%输出幅频响应和相频响应

     subplot(2,1,1),plot(f,20*log10(abs(H)))

     xlabel('频率/Hz');ylabel('振幅/dB');grid on;

     subplot(2,1,2),plot(f,180/pi*unwrap(angle(H)))

     xlabel('频率/Hz');ylabel('相位/^o');grid on;

     figure(2)

     f1=8;f2=21;%输入信号含有的频率

     N=100;%数据点数

     dt=T;n=0:N-1;t=n*dt; %时间序列

     x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t);%输入信号

     subplot(2,1,1),plot(t,x),title('输入信号')

     y=filtfilt(bz,az,x);%对信号进行滤波

     subplot(2,1,2),plot(t,y),title('输出信号'),xlabel('时间/s')

     wp=0.5*pi;ws=0.6*pi;%滤波器边界频率

     wdelta=ws-wp;%过渡带宽

     N=ceil(8*pi/wdelta)%计算滤波器所用窗函数最小长度

     Nw=N;

     wc=(wp+ws)/2; %截止频率在同带和阻带边界的中点

     n=0:N-1;

     alpha=(N-1)/2; %求滤波器的相位延迟

     m=n-alpha+eps; %eps为MATLAB系统的精度

     hd=sin(wc*m)./(pi*m); %求理想滤波器脉冲响应

     win=hanning(Nw); %采用汉宁窗

     h=hd.*win'; %在时间域乘积对应于频率域的卷积

     b=h;

     figure(1)

     [H,f]=freqz(b,1,512,50);%采用50Hz的采样频率画出该滤波器的幅频和相频响应

     subplot(2,1,1),plot(f,20*log10(abs(H)))

     xlabel('频率/Hz');ylabel('振幅/dB');grid on;

     f1=8;f2=21; %检测输入信号含有两种频率成分

     dt=0.02;t=0:dt:3; %采样间隔和检测信号的时间序列

     x=sin(2*pi*f1*t)+cos(2*pi*f2*t); %检测信号

     y=filter(b,1,x); %给出滤波器的输出

     figure(2)

     subplot(2,1,1),plot(t,x),title('输入信号')

     subplot(2,1,2),plot(t,y)

     hold on;plot([1 1]*(N-1)/2*dt,ylim,'r')

     xlabel('时间/s'),title('输出信号');

     2、在Workspace生成上面的原始信号S(即8Hz与21Hz组成的信号),利用SPTool导入该信号,调用FDATool设计题1的滤波器F。用滤波器F对信号F做滤波处理。

     要求:记录用SPTool及FDATool设计滤波器,滤波,显示滤波效果的全过程。

     _计算机__学院 网络工程 专业_3___班 学号 3116005027

      铠光 教师评定_________________

     实验题目___________数字信号处理实验_____________

     实验四、二维信号低通滤波

     一、实验目的1、熟悉二维低通滤波器的设计过程。

     2、能够根据噪声表现情况选择不同的滤波器器进行滤波处理。

     3、熟悉Matlab图像处理工具的一般操作。

     二、实验环境

     Matlab图像处理工具箱。

     三、实验容

     1、设计三个不同权值的3*3低通滤波器对SaltPapperNoise.tif与GaussianNoise.tif进行处理,并简述实验结果不同的原因。(自己编写卷积过程的加10分)

     图1 SaltPapperNoise.tif 图2 GaussianNoise.tif

     均值滤波器(average_filter.m)

     %3*3 均值滤波器实现函数

     function d = average_filter( picture ,a)%a为不同权值矩阵

     [hight, width]=size(picture); %输入图像是hight x width

     x1=double(picture);

     x2=x1;

     a_sum=sum(sum(a))

     for i=1:hight-2 %最后一列不用计算

      for j=1:width-2 %最后一行不用计算

      c=x1(i:i+2,j:j+2).*a;%取出x1中从(i,j)开始的n行n列元素与模板相乘

      s=sum(sum(c)); %求c矩阵中各元素之和

      x2(i+1,j+1)=s/a_sum; %将与模板运算后的各元素的均值赋给模板中心位置的元素

      end

     end

     %为被赋值的元素取原值

     d=uint8(x2);

     end

     中值滤波器(mid_filter.m)

     %3*3 中值滤波器函数

     function d = mid_filter(x)

     [height, width]=size(x); %输入图像是hight x width

     x1=double(x);

     x2=x1;

     for i=1:height-2%最后一列不用计算

      for j=1:width-2%最后一行不用计算

      c=x1(i:i+2,j:j+2); %取出x1中从(i,j)开始的3行3列元素,即模板(3×3的)

      e=[c(1,:),c(2,:),c(3,:)] ; %将c矩阵变为一个行矩阵

      mm=median(e) ; %mm是中值

      x2(i+1,j+1)=mm; %将模板各元素的中值赋给模板中心位置的元素

      end

     end

     %为被赋值的元素取原值

     d=uint8(x2);

     主函数(picture.m)

     J=imread(' C:\Users\yangk\Desktop\666\SaltPapperNoise.tif');%读取图片

     imshow(J)%显示原图

     title('原图')

     a(1:3,1:3)=1; %a即3×3模板,元素全是1

     k=average_filter(J,a);

     figure,imshow(k),title('均值滤波器-1/9')

     a(1:3,1:3)=[1 1 1;1 2 1;1 1 1];

     figure,imshow(k),title('均值滤波器-1/16')

     a(1:3,1:3)=[1 1 1;1 60 1;1 1 1];

     k=average_filter(J,a);

     figure,imshow(k),title('均值滤波器-1/68')

     a(1:3,1:3)=[0 1/4 0;1/4 1 1/4;0 1/4 0];

     结果展示

     椒盐噪声

     高斯噪声

     实验结果不同的原因:

     同一图片间:中心点的权重影响滤波效果,中心点权重越大,通过周围像素点来减弱椒盐噪声和图像模糊化的效果就越差

     不同图片间:均值滤波器通过周围像素点取加权均值来消去噪声,这对椒盐噪声有效,因为椒盐噪声出现位置是随机的,而高斯噪声出现在位置是一定的(每一点上),即周围点都被污染,无法找到足够多的为被噪声干扰的点来消除中心点噪声

     2、(选做题,20分)设计KNN(K=5, 滤波器大小3*3)均值滤波器对上面两副图进行滤波处理,并简述实验结果不同与一般均值滤波器器的处理结果的原因。

     _计算机__学院 网络工程 专业_3___班 学号 3116005027

      铠光 教师评定__________________

     实验题目___________数字信号处理实验_____________

     实验五、二维信号高通滤波、三维图像处理

     一、实验目的1、熟悉二维高通滤波器的设计过程。

     2、能够边缘需求不同,设计不同的高通滤波器器进行滤波处理。

     3、熟悉Matlab图像处理工具的一般操作。

     二、实验环境

     Matlab图像处理工具箱。

     三、实验容

     1、设计水平和垂直方向及Sobel高通滤波器对Building.tif与Cups.tif进行处理,并简述实验结果不同的原因。(自己编写卷积过程的加10分)

     图1 Building.tif 图2 Cups.tif

     实现函数(sharpen_filter.m)

     %3*3 锐化实现函数

     function result = sharpen_filter( picture ,type)

     switch type

      case 'hori'

      dx=[1 2 1;0 0 0;-1 -2 -1]

      d=0

      case 'vert'

      dx=[1 0 -1;2 0 -2;1 0 -1]

      d=0;

      case 'sobel'

      dx=[-1 0 1;-2 0 2;-1 0 1]

      dy=[-1 -2 -1;0 0 0 ;1 2 1]

     end

     [height, width]=size(picture); %输入图像是hight x width

     x1=double(picture);

     x2=x1;

     for i=1:height-2%最后一列不用计算

      for j=1:width-2%最后一行不用计算

      c=x1(i:i+2,j:j+2).*dx;%取出x1中从(i,j)开始的n行n列元素与模板相乘

      c=sum(sum(c)); %求c矩阵中各元素之和

      if c>255

      c=255;

      end

      if strcmp(type,'sobel')

      d=x1(i:i+2,j:j+2).*dy;%取出x1中从(i,j)开始的n行n列元素与模板相乘

      d=sum(sum(d)); %求d矩阵中各元素之和

      if d>255

      d=255;

      end

      end

      x2(i+1,j+1)=round((c^2+d^2)^(1/2)); %将与两模板运算后值赋给模板中心位置的元素

      end

     end

     %为被赋值的元素取原值

     result=uint8(x2);

     end

     测试

     image=imread(' C:\Users\yangk\Desktop\666\Building.tif');%读取图片

     imshow(image)%显示原图

     title('原图')

     figure

     k=sharpen_filter(image,'hori');%水平锐化

     imshow(k),title('水平锐化处理图')

     figure

     k=sharpen_filter(image,'vert');%水平锐化

     imshow(k),title('垂直锐化处理图')

     figure

     k=sharpen_filter(image,'sobel');

     imshow(k),title('Sobel锐化处理图')

     结果

     实验结果不同的原因:由名字可知,水平锐化和垂直锐化各自锐化注重的方向不一样,水平锐化注重水平方向,所以水平方向锐化效果好,垂直锐化注重垂直方向,所以垂直方向锐化效果好,而Sobel锐化水平垂直方向都进行了锐化,故两个方向都锐化效果明显

     设计非线性扩散滤波器对CT图像进行处理,使得低质量图像尽量逼近高质量图像。

    相关关键词: 操作系统文件管理实验 新晃思源实验学校:誓师大会,备战中考 新晃思源实验学校图片 新晃思源实验学校简介 “国培计划(2017)”英语科送教活动在白水县田家炳实验中学进行
    相关热词搜索: 实验 材料 报告 数字信号处理 matlab

    • 范文大全
    • 教案下载
    • 优秀作文
    • 励志
    • 课件
    • 散文
    • 名人名言