怎么将图像读入设计好的滤波器进行处理

作者&投稿:伊剑 (若有异议请与网页底部的电邮联系)
怎么把设计的滤波器用于实际,比如:声音处理、图像处理等等。跪求一个源程序。~

利用MATLAB求出系数,再写个代码,就可以了,很简单啊。我用FPGA给你举个例子吧
module fir_srg_module //----> Interface
(input clk,
input signed [7:0] x,
output reg signed [7:0] y);

reg signed [7:0] tap [0:3];

integer I,t1,t2;
always @(posedge clk)
begin : p1
t1<=tap[0]+tap[3];
t2<=tap[1]+tap[2];
y >> 2) - t1;
for (I=3; I>0; I=I-1) begin
tap[I] <= tap[I-1]; // Tapped delay line: shift one
end
tap[0] <= x; // Input in register 0
end
endmodule

这就是一个滤波器啊,不知道还有什么不懂的?

  (1)求出信号的频谱X(W)和滤波器的频率特性H(W),即把它们变换到频域去

  (2) 频域相乘,即Y(W)=X(W)*H(W),相当于时域做卷积。(可用分段卷积法)

  (3)把Y(W)反变换到时域为y(n)即可

  滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的交流电。您可以通过基本的滤波器积木块----二阶通用滤波器传递函数,推导出最通用的滤波器类型:低通、带通、高通、帯阻和椭圆型滤波器。采用MATLAB设计滤波器,使原来非常繁琐复杂的程序设计变成了简单的函数调用,为滤波器的设和实现开辟了广阔的天地,尤其是Matlab工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。其中的信号处理工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。MATLAB 信号处理工具箱为滤波器设计及分析提供了非常优秀的辅助设计工具, 在设计数字滤波器时, 善于应用MATLAB进行辅助设计, 能够大大提高设计效率。

题目:利用DSP的FIR滤波器设计

数字处理器(DSP)有很强的数据处理能力,它在高速数字信号处理领域有广泛的应用,例如数字滤波、音频处理、图像处理等。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等。使用可编程的DSP芯片实现数字滤波可以通过修改滤波器的参数十分方便地改变滤波器的特性,下面主要说明利用TMS320VC54x DSP芯片设计实现FIR数字滤波器。
设计目的意义
一个实际的应用系统中,总存在各种干扰,所以在系统设计中,滤波器的好坏将直接影响系统的性能。使用DSP进行数字处理,可以对一个具有噪声和信号的混合信号源进行采样,再经过数字滤波,滤除噪声,就可以提取有用信号了。所以说,数字滤波器是DSP最基本的应用领域,熟悉基于DSP的数字滤波器能为DSP应用系统开发提供良好的基础。
技术指标
1、数字滤波器的频率参数主要有:①通带截频:为通带与过渡带的边界点,在该点信号增益下降到规定的下限。②阻带截频:为阻带与过渡带的边界点,在该点信号衰耗下降到规定的下限。③转折频率:为信号功率衰减到1/2(约3dB)时的频率,在很多情况下,也常以fc作为通带或阻带截频。④当电路没有损耗时,固有频率:就是其谐振频率,复杂电路往往有多个固有频率。
2、增益与衰耗
滤波器在通带内的增益并非常数。①对低通滤波器通带增益,一般指ω=0时的增益;高通指ω→∞时的增益;带通则指中心频率处的增益。②对带阻滤波器,应给出阻带衰耗,衰耗定义为增益的倒数。③通带增益变化量指通带内各点增益的最大变化量,如果通带增益变化量以dB为单位,则指增益dB值的变化量。
3、阻尼系数与品质因数
阻尼系数α是表征滤波器对角频率为ω0信号的阻尼作用,是滤波器中表示能量衰耗的一项指标,它是与传递函数的极点实部大小相关的一项系数。
4、灵敏度
滤波电路由许多元件构成,每个元件参数值的变化都会影响滤波器的性能。
5、群时延函数
在滤波器设计中,常用群时延函数评价信号经滤波后相位失真程度。
以上的几个技术指标是一般滤波器的特性,但在实际应用中,数字滤波器通常用来实现选频操作,因此在利用DSP实现数字滤波器设计中要求的技术指标主要为在频域中给出的幅频响应和相频响应。如下图所示

幅频响应和相频响应特性曲线
对于幅频响应,它的含义是信号通过系统之后的输出信号的幅度与它输入时的信号的幅度的比值,一般以分贝值表示。对于相频响应,含义是信号通过系统之后的输出信号的相位与它输入时的信号的相位之差,在运用线性相频响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③可以采用FFT算法,从而提高运行效率;④由于FIR滤波器的单位脉冲响应是有限长序列,故FIR滤波器没有不稳定的问题,且误差较小。
基本原理
利用DSP实现FIR滤波器的设计方法主要有窗函数法和频率抽样法,其中窗函数法是基本的设计方法,这里采用窗函数法设计FIR滤波器。设希望得到的滤波器理想响应为 ,那么FIR滤波器的设计就在于寻找一个传递函数

去逼进 ,设

这里 就是傅立叶级数的系数。在这种逼近中,最直接的一种方法就是从单位脉冲响应 入手,使 逼近理想的单位脉冲响应 。由于 是一个无限长序列,因此,最简单的方法就是对 做截尾处理,即得到一个近似的传递函数

上式中,Q就是最终确定FIR滤波器的阶数,Q越大,近似程度就越高。对 截尾,实际上就是对 乘上一个矩形窗口 ,即

令z= ,则

其脉冲响应系数为 , ,…, , , ,…, , 。为使 具有因果性,延时Q个样值,可得:

令n+Q=k,上式成为

令 ,N=2Q,得

式中, 是脉冲响应系数,这里 …, ,…, 。
一般来说,FIR数字滤波器输出 的Z变换形式 与输入 的Z变换形式之间的关系如下:

实现结构如下图所示:

Z变换结构图
从上面的Z变换和结构图可以很容易得出FIR滤波器的差分方程表示形式,即对上式进行反Z变换得:

上式为FIR数字滤波器的时域表示方法,其中x(n)是在时间n的滤波器的输入抽样值,根据上式即可对滤波器进行设计。
硬件设计
1、DSP芯片
根据设计原理,实现的核心器件采用美国德州仪器公司生产的低功耗定点数字信号处理器芯片TMS320C5402。选择该芯片主要是因为它是目前最常用的低成本DSP芯片,而且包括以下主要特点:
⑴运算速度快,最快可达532MIPS;
⑵多总线结构,片内共有8 条总线(1条程序存储器总线、3条数据存储总线和4条地址总线);
⑶CPU采用冯? 诺依曼并行结构设计,使其能在一条指令周期内,高速地完成多项算术运算;
⑷片内集成了4K×16bitROM和16K×16bit的双存取RAM;
⑸丰富的片上外围电路(通用I/O 引脚,定时器,时钟发生器, HPI 接口,多通道缓冲串行口McBSP)使其与外部接口方便;
⑹3.3V I/O电压,1.8V核点压,工作电流平均值为75mA,其中核45mA,I/O约30mA;
⑺144脚BGA封装,使体积减少,功耗降低。
2、AD和DA电路
在本数字滤波器系统中选择了TI公司的TLV1570芯片作为模数转换器件,8通道10位2.7到5.5 V低电压模数转换芯片。TLVl570在3V电压下的采样频率为625KSPS,输入信号最高频率不能超过300K。
由于模数转换选择了10位器件,为了简化程序代码,减少DSP 的运算工作量,在本数字滤波器系统中选择了TI公司的TLV5608芯片,它是一款8通道10位2.7到5.5V低电压数模转换芯片。
3、电源电路
根据DSP芯片工作的电压电流需求,及芯片采用双电源供电对加电顺序的要求,考虑使用TI公司的电源转换芯片TPS73HD318,其输出电压为一路3.3V、一路1.8V,每路电源的最大输出电流为750mA,能满足本系统的供电需求。而且TPS73xx具有非常低的静态电流,能使稳压器输出稳定。
4、时钟电路
C54xx系列的时钟端子为X1和X2/CLKIN,采用无源晶振提供时钟信号,由于DSP有一组端子可以用来调整其工作频率的高低,故对晶振频率大小的选定没有特别的要求,这里选用10Mhz的晶振。
5、复位电路
为了克服DSP系统因时钟频率较高导致在运行时可能发生的干扰和被干扰的现象,最好是使用具有监视(Watchdog)功能的自动复位电路,于是采用专门的自动复位芯片MAX706。MAX706的电源为3.1V~5.0V,低电平复位输出,复位门限为3.08V。
6、未用端子处理
根据使用DSP芯片的相关原则,以及芯片手册具体决定未用端子是接上拉电阻还是悬空。
7、基于上述的各部分电路组成,可以得出DSP数字滤波器的整体硬件电路连线图,如下所示

程序设计
1、设计思路
⑴在DSP进行数字滤波运算前首先要进行初始化,只有正确设置了DSP的初始状态才能保证芯片能正常运行。本系统主要进行以下两方面的初始化:
①寄存器初始化:状态寄存器ST0、状态寄存器ST1、处理器模式控制寄存器PMST、软件等待状态寄存器SWWSR、组交换控制寄存器BSCR和时钟模式寄存器等。
②中断矢量表初始化:根据DSP芯片对各中断矢量的设置位置编写一个子程序;设置PMST控制寄存器;连接时将矢量表重定位到IPTR指定的地址。
⑵其次就是FIR 数字滤波的子程序设计,主要步骤如下:
①查询SPCR11寄存器的第二位,当为1时说明read ready,将DRR11的值读入AR3所指向的地址,该值为最新的采样值。
②将最新的采样值减去200h,然后AR3的值减1。
③执行MAC指令。
④将累加器的值送给变量Y,并将Y加上200h。
⑤查询SPCR20寄存器的第二位,当为1时说明writeready,将Y值赋给DXR10,该值为滤波器输出值。
⑥循环执行上面步骤。
2、程序流程图
依据上述程序设计思路可以得到利用DSP实现FIR滤波器设计的程序流程图,如下

3、程序代码
由于初始化程序部分过于庞大繁杂,这里只给出用MAC指令编程实现FIR低通滤波器的程序片断:
FILT_task1
LD Store_SICX,A
STLM A,ar4
STM #1,ar0 ;间址
STM #28,bk
LD DEM_Out,A
STL A,*ar4+% ;输入信号:实部
STM #Coef_Tab1,ar5 ;滤波器实部系数地址
LD #0,A
STM #27,brc
RPTB SICXU-1
MAC *AR4+0%,*AR5+,A
SICXU LD A,-16,A ;低通滤波结果
LD C7FFF,B
MIN A
NEG B
MAX A
STL A,DEM_Out
LDM AR4,A
STL A,Store_SICX
RET
Coef_Tab1
.word 100 ;h(0)
.word 7 ;h(1)

… ;脉冲响应系数

.word -248
.word -71 ;h(N-1)
.end
总结
通过利用DSP的FIR滤波器设计,对DSP芯片的使用,以及利用DSP芯片组成的基本系统的相关电路有了比较深的认识。熟悉DSP芯片的系统设计和应用开发流程,并利用图书馆、网络、询问同学等方式查找资料和解决相关的难题,这是最基础的工作,也是最关键的步骤。这样做可以培养自己的动手解决问题的能力和独立思考的处事方法,使自己具有技术人员的气质和工作态度,为将来的就业增加优势。
数字滤波器是DSP的典型应用,学会了有助于触类旁通,利于进一步的学习研究,能做到理解其他基于DSP的系统的功能和工作原理。掌握了基于DSP的应用开发,开阔了视野,增长了知识,是进入现代数字信号处理领域重要技能,乃至大规模集成电路的开发也是会用到的基础,今后要予以重视并积极努力去学习。


你先要说清楚你的滤波器是个什么样的函数,要传递什么样的参数,图像数据一般都用一个uchar*的指针得到,把你需要处理的图像数据传给滤波器做卷积就可以了,比如一般3*3的滤波器,你最好一次性把9个数都传进去,也就是先把要处理的数据存在一个数组里面再传给滤波器计算,

首先要看楼主用什么软件做,主要就是图像变为参数,加入滤波器函数里就可以了,楼主用VC还是matlab?还是别的软件?


怎么将图像读入设计好的滤波器进行处理
你先要说清楚你的滤波器是个什么样的函数,要传递什么样的参数,图像数据一般都用一个uchar*的指针得到,把你需要处理的图像数据传给滤波器做卷积就可以了,比如一般3*3的滤波器,你最好一次性把9个数都传进去,也就是先把要处理的数据存在一个数组里面再传给滤波器计算, 已赞过 已踩过< 你对这个回答的评价是...

在做图像处理时,如何提高识别算法的设计与效果的精度?
如果您正在处理图像识别模型,您可以考虑通过使用数据增强来增加可用数据集的多样性。这些技术包括从将图像翻转到轴上、添加噪声到放大图像。如果您是一个强大的机器学习工程师,您还可以尝试使用GANs进行数据扩充。请注意,您使用的增强技术会更改图像的整个类。例如,在y轴上翻转的图像没有意义!添加更多的...

ARTCAM PRO8.1怎么样把图像调整到自己设计的尺寸而且不变形?
先把灰度图转成浮雕,再保存浮雕,重建一新模型,设置尺寸再调入之前保存的浮雕,改变大小即可。

画册版式设计的思路是什么
合理安排文字和图片:在设计画册时,要合理安排文字和图片的位置,使其更好地传达内容,同时保持美学上的平衡。选择适当的字体和颜色:字体和颜色是画册版式设计中最重要的元素之一,因此设计师应该选择适合主题的字体和颜色,使其更好地传达画册的信息。保持简洁明了:设计师应该避免在画册中使用过于复杂的...

在摄影中如何通过艺术与设计让照片更吸引人?
通过预先可视化结果,摄影师可以更清楚地了解照片的目的,这反过来又允许摄影师更好地控制图像。7. 运动 摄影中的术语“运动”通常描述相机快门速度与拍摄对象之间的关系,在艺术和设计方面,运动是指观看者的眼睛在阅读照片时所经过的路径。运动是由艺术和设计的元素和原则塑造的,摄影师可以控制观看者吸收...

matlab图像处理,对一幅图像做傅里叶变换,去掉细节部分留下轮廓部分...
所以要留下轮廓的话应该去掉高频,结果是图像被模糊了。主要就是使用一个频域滤波器滤除高频部分,对应的是图像处理知识中的频域滤波部分,建议搜一些相关资料,冈萨雷斯的《数字图像处理——matlab版》中就有相关知识的详细介绍,包括频域滤波原理和滤波器设计实例代码都很详细。

平面设计中图像处理的6大技巧
1.分离图像 众所周知,图像处理通常会将很多图像元素融合在一张画布上。其中包括普通的图像素材。也包括你自己的摄影作品。比方说我们现在需要将一棵树放到另一张我们要处理的图像中。但是树上包含了诸如树叶。枝干。阴影等等并不容易分离的元素。这一步做起来有些困难。我们该怎么办呢。大部分熟悉PS的...

ps扫描分辨率怎么设置
图1和图2所示分别展示了相同尺寸的图像不同分辨率下的图像显示质量。在设计一个印刷品的时候,要明确该印刷品所需的分辨率应该是多少,在设计软件中就设定好正确的分辨率,避免之后反复修改。若出现在开始新建文档时分辨率就建错的情况,那么只能将分辨率由大改小,而不可以将分辨率由小改大。例如 设计一...

ps怎么贴样机怎么用ps样机贴图
1. 使用图层蒙版:- 打开你的样机图像和设计图像。- 将设计图像拖放到样机图像中,创建一个新的图层。- 在图层面板中,将设计图层放置在样机图层的上方。- 选择设计图层,并添加一个图层蒙版。- 使用画笔工具,以黑色或白色填充图层蒙版,来控制设计在样机上的可见区域。2. 使用变换工具:- 打开你的...

我今天面试设计师,别人说你只是会一些设计软件,但不懂设计,作品一般般...
然后1、把扫描好的图在PS里打开(强烈建议使用水笔描过线的,一般铅笔稿偶都是用透明色直接上色而不会提取线条)2、打开“图像”-“模式”-RGB,将图像调整为RGB格式。3、使用快捷键“Ctrl”+“L”打开“色阶”面板,移动线条下面的小三角,将图像调整为黑白“极为”分明的状态(重要)……然后...

九江市18614463522: 怎么将图像读入设计好的滤波器进行处理 -
冉省欣粒: 题目:利用DSP的FIR滤波器设计数字处理器(DSP)有很强的数据处理能力,它在高速数字信号处理领域有广泛的应用,例如数字滤波、音频处理、图像处理等.相对于模拟滤波器,数字...

九江市18614463522: matlab 低通滤波器设计与图像处理 -
冉省欣粒: 加载图像:aaa=double(imread('1.bmp')); 然后 [row,column]=size(aaa); for i=1:row for j=1:column%用滤波器对每个像素处理aaa(i,j) end;

九江市18614463522: 怎样用matlab进行图像滤波处理 -
冉省欣粒: 1、打开软件,读入图片. 2、分别建立3*3高斯滤波模板和平均滤波模板,并对加噪的图片进行滤波处理.显示原图、加噪后的图片和分别用高斯、平均模板滤波后的图片. 3、图片结果如图,可以看出平均模板滤波后噪声十分明显,高斯模板滤波后噪声影响相对较小,但也很容易看出. 4、使用中值滤波对图片进行处理,并显示处理后的图像. 5、从图片可以看出,中值滤波后的图像基本上看不出来噪声的影响.完成保存就可以了.

九江市18614463522: matlab中如何把混合信号送入做好的FIR滤波器中滤波,并显示滤波后的信号 -
冉省欣粒: 怎么说呢,如果不用simlink,那就编程序,最好用simlink,把各部分用线连起来.

九江市18614463522: 怎么把设计的滤波器用于实际,比如:声音处理、图像处理等等.跪求一个源程序. -
冉省欣粒: 利用MATLAB求出系数,再写个代码,就可以了,很简单啊.我用FPGA给你举个例子吧 module fir_srg_module //----> Interface (input clk, input signed [7:0] x, output reg signed [7:0] y); reg signed [7:0] tap [0:3]; integer I,t1,t2; always @(posedge clk...

九江市18614463522: matlab中如何对图像作理想高通滤波处理 -
冉省欣粒: I=imread('cameraman.tif'); figure(1);imshow(I); J=imnoise(I,'gaussian',0,0.02); figure(2);imshow(J); J=double(J); f=fft2(J); %采用傅里叶变换 g=fftshift(f); %数据局陈平衡 [M,N]=size(f); n1=floor(M/2); n2=floor(N/2); d0=10; for i=1:M for j=1:N d=sqrt((i-...

九江市18614463522: 怎么用multisim进行滤波器的仿真? -
冉省欣粒: 用multisim进行滤波器的仿真的方法: 1、开启滤波器.在multisim的工具栏中选择”Instruments“,然后在右侧弹出的列表张选择适合自己的滤波器. 2、给滤波器加入信号源和噪声.点击place菜单——>component——>弹出菜单的左上角database选masterbase怎么用multisim进行滤波器的仿真?

九江市18614463522: 如何对设计出fir滤波器的系数处理成在dsp可用的数据文件 -
冉省欣粒: 打开FilterDesign & Analysis Tool 单击MATLAB主窗口下方的“Start”按钮,选择菜单“ToolBox”→“Filter Design”→“Filter Design &Analysis Tool(FDATool)”命令,打开FDATool,如图所示.产生滤波器 阶数为81阶,这里应填80,比阶...

九江市18614463522: Matlab中怎样normalize经过滤波处理的图像 -
冉省欣粒: clc; clear; I=imread('a.jpg'); %读取图像 K1=medfilt2(I,[10 10]); %值滤波 h1=ones(5,5)/25; K2=imfilter(K1,h1); %均值滤波 figure, imshow(K2), title('滤波图像')

九江市18614463522: 如何用自己设计好的滤波器对频谱滤波 matlab -
冉省欣粒:(1)求出信号的频谱X(W)和滤波器的频率特性H(W),即把它们变换到频域去(2) 频域相乘,即Y(W)=X(W)*H(W),相当于时域做卷积.(可用分段卷积法)(3)把Y(W)反变换到时域为y(n)即可滤波器是一种用来消...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网