声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1348|回复: 3

[综合讨论] 怎么用高通滤波器滤不掉高频部分啊

[复制链接]
发表于 2008-4-1 10:02 | 显示全部楼层 |阅读模式

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

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

x
信号时域表达式为:y=A.*exp(-((2.^1.5).*(t-t0)/t00).^2).*cos(2*pi*fd*(t-t0)),频域表达式为:Y=(A*t0/4).*(pi/4).^0.5.*(exp(-(pi*(f-fd)*t0)/(2.^1.5)).^2) +exp(-(pi*(f+fd)*t0)/(2.^1.5)).^2) ) ,频域包含两个变量,一个是(f-fd),另一个是(f+fd),我用窗函数想把高频部分滤掉不行,不知道怎么才能把高频部分滤掉哪?请高人指教,谢谢!!
程序如下:
clear
sf=2500000; %采样频率
deltat=1/sf; N=16384;
t=0:deltat:(N*deltat-deltat);
deltaf=sf/N;
fd=600000;  Nf=20;% 多普勒频率 测量区条纹数
A=1;%B=0.000001;  %信号幅值
t0=0.0015; t00=Nf/fd;  %t0信号到达时间
fp1=800000; fp2=900000; %高通滤波器
wp=2*fp1/sf; %阻带截止频率  
ws=2*fp2/sf; %通带起始频率
deltaw=ws-wp;  %确定过度带宽
N0=ceil(6.2*pi/deltaw); %按汉宁窗计算滤波器长度N0,ceil是向上取整函数
N1=N0+mod(N0+1,2); %为实现第一类对偶滤波器,要确保其长度N1为奇数
n=N1-1; %滤波器的阶数
wn=(ws+wp)/2; %理想高通的截止频率
b=fir1(n,wn,'high',hanning(N1));
y=A.*exp(-((2.^1.5).*(t-t0)/t00).^2).*cos(2*pi*fd*(t-t0));
%单个粒子产生的光电流
y1 = filter(b,1,y);
y2=abs(fft(y));
y3=abs(fft(y1));
subplot(211)
plot(0:(sf/N):(sf-sf/N),y2);
subplot(212)
plot(0:(sf/N):(sf-sf/N),y3);

[ 本帖最后由 eight 于 2008-4-1 10:06 编辑 ]
回复
分享到:

使用道具 举报

 楼主| 发表于 2008-4-1 16:11 | 显示全部楼层
问题:1、 这个程序运行完在0.6e6和1.9e6处有两个峰值,不想要1.9e6的值,怎么样才能把它去掉哪?
      2、另外我加了个汉宁窗的低通滤波器,没有滤掉高频部分不说,信号的幅值还变的那么小是怎么回事?(加的是低通滤波器,程序标注错了)
发表于 2008-4-1 18:42 | 显示全部楼层
采样频率是2500000(2.5e6),对信号进行FFT后,频谱只在0~1.25e6范围内,而1.9e6处的峰值是0.6e6对应的负频率处的值。

评分

1

查看全部评分

 楼主| 发表于 2008-4-5 10:06 | 显示全部楼层
谢谢songzy41老师,老师言简意赅,佩服!!
主要是显示的问题,实信号的频域显示本来应该是从-sf/2:(sf/N):(sf/2-sf/N),将它显示在0:(sf/N):(sf-sf/N)就会出现问题。将信号改成复信号就好了:x=A.*exp(-((2.^1.5).*(t-t0)./t00).^2).*cos(j*2*pi*fd*(t-t0));
我不是学信号的,简单的问题也困扰好久,谢谢帮忙!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-4 04:29 , Processed in 0.072431 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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