MATLAB数字图像处理程序

MATLAB数字图像处理程序,第1张

窗函数设计低通滤波器:

fp=1000

fc=1200

as=100

ap=1

fs=22000

wp=2*fp/fs

wc=2*fc/fs

N=ceil((as-7.95)/(14.36*(wc-wp)/2))+1

beta=0.1102*(as-8.7)

window=Kaiser(N+1,beta)

b=fir1(N,wc,window)

freqz(b,1,512,fs)

结果

高通滤波器:

fs=22000

Wp=2*5000/fs

Ws=2*4800/fs

Ap=1

As=100

N=ceil(8*pi/(Wp-Ws))+1

N=N+mod(N+1,2)+1

Wc=(Wp+Ws)/2/pi

h=fir1(N,Wc,'high')

omega=linspace(0,pi,512)

freqz(h,1,omega)

结果:

带通滤波器:

fs=22000

Wp1=2*1200/fs

Wp2=2*3000/fs

Wc1=2*1000/fs

Wc2=2*3200/fs

Ap=1

As=100

W1=(Wp1+Wc1)/2

W2=(Wp2+Wc2)/2

wdth=min((Wp1-Wc1),(Wc2-Wp2))

N=ceil(11*pi/wdth)+1

b = fir1(N,[W1 W2])

freqz(b,1,512,fs)

结果:

双线性法设计低通滤波器:

fp=1000

fc=1200

as=100

ap=1

fs=22000

wp=2*fp/fs

wc=2*fc/fs%归一化截止频率

[n,wn]=ellipord(wp,wc,ap,as)%求数字滤波器的最小阶数和归一化截止频率

[b,a]=ellip(n,ap,as,wn)%求传递函数的分子分母系数

freqz(b,a,512,fs)

结果:

滤波:

d=filter(b,a,y)

我已经查过,没有这个命令

Matlab可以支持一些希腊字母和数学符号的输入,但是支持是极其有限的。相信支持的信息见:http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/text_props.html&http://www.mathworks.com/access/helpdesk/help/techdoc/creating_plots/f0-4741.html#String

其实很简单的。

比如你有一个名叫sj的txt文件,

里面有如下内容(就是你的数据):

0 0 3

1 1 1

2 2 2

你把这个txt文件复制到你的matlab安装目录的work文件夹里,

然后在命令窗口中输入如下命令:

load 'sj.txt'

matlab就把sj里面的数据加载到了系统里自动建立了一个名叫sj的3X3的矩阵,你就可以直接调用了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7771585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存