我是靠谱客的博主 正直老鼠,最近开发中收集的这篇文章主要介绍matlab灰度图像频域低通滤波,求助呀,哪位好心人。关于低通滤波器时域和频域的曲线图...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

做的是10HKZ的低通滤波器,主要是想滤掉100HZH的噪声。但是时域图不对!哪里出问题了,帮帮忙~看看呗!谢谢啦

clear all;close all;clc;    %清除所有变量,窗口以及命令窗口内容

%数据处理函数部分

fs=500000000;       %采样频率

x=load('F:data.txt');%附件的代码数据

N=length(x);

a=mean(x);      %mean求向量元素的平均值

ac=x-a;%去掉直流分量的干扰

n=0:N-1;

t=n/fs;     %时间序列

figure(1);

subplot(211),plot(n,ac,'r');%时域的波形图

grid on;

f=n*fs/N;           %频率序列

nf=2^nextpow2(t);

%nf1=0:ceil(nf/2);

Yp=fft(ac,nf);

k=fs*linspace(0,1,nf)-fs/2;

% k=fs*linspace(0,1,nf)-fs/2;

subplot(212),plot(k,abs(Yp),'b');   %信号的频谱图

ws=10000;%通带截止频率

wp=20000;%阻带起始频率

ds=50;%阻带衰减

ws1=2*pi*ws/fs;%经采样后的通带截止角频率

wp1=2*pi*wp/fs; %阻带经采样后的通带截止角频率

wd=(wp1+ws1)/2;%归一化后的滤波器截止频率

nn=ceil(6.6*pi/(wp1-ws1));%利用7-3求滤波器长度

% Y=fir1(nn-1,wd/pi,hanning(nn));%滤波器时域函数

Y=fir1(nn-1,wd/pi,hanning(nn));%滤波器时域函数

signal=conv(x,Y);

subplot(212),plot(fs*nx,signal);

title('经滤后的信号时域图');

xlabel('时间');

ylabel('幅度');

grid on;

nx=(0:nn-1)/fs;

lx=2^nextpow2(nx);

Y1=fft(signal,lx);

k=(0:(lx-1))*fs/lx;

figure(2);

% subplot(2,1,1),plot(k,abs(Yp));   %信号的频谱图

% subplot(2,1,2),

plot(k,abs(Y1));   %信号的频谱图

title('滤波后信号频谱');

xlabel('频率');

ylabel('幅度');

grid on;

a70cbf5f56cb187f20fb09bae08ed3de.gif

2011-10-27 16:19 上传

点击文件名下载附件

361.84 KB, 下载次数: 3105

最后

以上就是正直老鼠为你收集整理的matlab灰度图像频域低通滤波,求助呀,哪位好心人。关于低通滤波器时域和频域的曲线图...的全部内容,希望文章能够帮你解决matlab灰度图像频域低通滤波,求助呀,哪位好心人。关于低通滤波器时域和频域的曲线图...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部