声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2200|回复: 6

[滤波] 有窄带滤波方面的高手么!(有偿)

[复制链接]
发表于 2016-6-27 00:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本人一份报告需要对测试数据进行窄带滤波处理,需要这方面高手帮忙!愿意付一定的酬劳,有意者请给zgdky@hotmail.com信箱留言!

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2016-6-27 08:17 | 显示全部楼层
MATLAB有现成的函数:fir1,设置好相应的参数即可。
发表于 2016-6-27 10:24 | 显示全部楼层
仅供参考,如有不对,还请指正!!!
设计了一个带噪声的正弦信号

clc;
clear all;
close all;

N = 20;        % 每个周期的采样点数
a = 20;        % 周期数
m1 = 1;        % 输入信号的幅值


for n = 1:a*N
    signal(n) = m1*sin(2*pi*(n-1)/N ) ;           % 输入信号
end

snr = 30;         % 设定加入白噪声后的信噪比
signal1 = awgn(signal,snr,'measured');       % 加入噪声后的信号


现在要给这个正弦信号设计一个窄带滤波器,对其进行滤波,其中Fs = 10KHZ

M = 20;                       % 滤波器的阶数
Fs = 10000;                   % 采样频率
fs1 = 350; fp1 = 450; fp2 = 550; fs2 = 650;      % 通带和阻带边界频率

wp1 = 2*pi*fp1/Fs; ws1 = 2*pi*fs1/Fs; wp2 = 2*pi*fp2/Fs; ws2 = 2*pi*fs2/Fs;    % 将频率转换成相位   
wc1 = (ws1+wp1)/2/pi; wc2 = (wp2+ws2)/2/pi;     % 截止频率取通带阻带边缘频率的平均值
wc = [wc1,wc2];            

hn = fir1(M,wc,blackman(M+1));      % 设计FIR滤波器
y = filter(hn,1,signal1);         % 对带噪声的信号进行滤波

plot(y)
1.png

发表于 2016-6-27 16:35 | 显示全部楼层
你直接设计频域滤波程序不就完事了吗???频域滤波程序你可以随意设计需要的上下限频率,岂不是更简单!!!
发表于 2016-6-28 09:07 | 显示全部楼层

网上找的,希望给你带来帮助!!!

空间滤波和频域线性滤波的基础都是卷积定理(针对线性系统):

在使用MATLAB中的fft2函数实现傅立叶滤波时,分两种情况:①无填充时②有填充。

①无填充。假设图像数据为f,直接调用fft2(f)进行FT滤波。

>> f=zeros(256,256);

>> f(1:128,:)=1;

>> imshow(f)%生成简单图像

>> [M,N]=size(f)%获得图像尺寸

>> F=fft2(f);%进行傅立叶滤波,无参数

>> sigma=10;

>> H=lpfilter('gaussian',M,N,sigma);%生成高斯低通滤波器,

>> G=H.*F;%在频域将图像的FT和生成的滤波器点乘(由公式(1),再进行IFT,就可得到滤波后的图像)

>> g=real(ifft2(G));%IFT,再取实部以还原图像

>> figure,imshow(g,[])

滤波后,图像边缘产生了模糊——这是预期的,低通滤波器就是能让图像模糊。但垂直边缘不模糊。其原因在于DFT计算中暗含的周期性。DFT将图像看成向四个方向(x,y轴正负向)延伸的无限周期序列。序列中,原图数据分别向四个方向延伸,可以想像其四周邻接的是什么图像。当滤波器下(同时存在)一块亮区域和暗区域时,滤波结果便得到模糊且变暗的图像。当滤波器位于序列图像的亮部时,它会遇到一个周期分量相同的区域,常数区域的平均值仍为常数,故不会产生模糊现象。

②有填充的情形

无填充时,会产生相邻周期之间的干扰(称为:折叠误差的干扰),可以通过使用0来填充函数的方法来避免。——冈萨雷斯《数字图像处理》

>> PQ=paddedsize(size(f))%求取填充尺寸,如f(x,y)和h(x,y)的大小分别为AxB,CxD,则P≥A+C-1,Q≥B+D-1

PQ =

       512   512

>> fp=fft2(f,PQ(1),PQ(2));%有填充的FT

>> hp=lpfilter('gaussian',PQ(1),PQ(2),2*sigma);%低通滤波器

>> gp=hp.*fp;%频域相乘

>> gp2=real(ifft2(gp));%IFT求取原图像

>> figure

>> imshow(gp2,[])

>> gpc=gp2(1:size(f,1),1:size(f,2)); %将左上部的矩形修剪为原始大小

>> figure

>> imshow(gpc,[])


发表于 2016-6-28 23:02 | 显示全部楼层
直接用工具箱设计滤波器...

点评

怎么操作 具体说说呗 像楼上一样把程序贴出来  详情 回复 发表于 2016-6-29 08:36
发表于 2016-6-29 08:36 | 显示全部楼层
红轮 发表于 2016-6-28 23:02
直接用工具箱设计滤波器...

怎么操作  具体说说呗  像楼上一样把程序贴出来
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-25 01:45 , Processed in 0.061977 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表