回复 5 # hcharlie 的帖子
能不能帮帮我啊?
clc;clear all;close all;format long;
% 构造一个带通滤波器
f=30*10^3:1:50*10^3;
fL=30*10^3;
fH=50*10^3;
df=10^3;
fb=4*(2/(40*10^3))^2;
phi_f=0;
n=1;
for fc=fL:df:fH
phi_f=phi_f+exp(-pi^2*fb*(f-fc).^2);
Q(1,n)=2*sqrt(log(2))/(pi*fc*sqrt(fb));
n
n=n+1;
end
figure(1);plot(f,phi_f);
% 产生一个仿真信号
Fs=10^6; %采样率
dt=1/Fs; %采样时间周期
f0=40*10^3; %信号载频
t=0:dt:dt*1000; %时间,假设取1001个样本点
g=1.333-cos(0.2*2*pi*f0*t+(pi/2));
y1=g.*sin(2*pi*f0*t); %仿真信号
figure(2);plot(t,y1,'b',t,g,'r'); %观察仿真信号的波形
% 观察仿真信号的频谱
NFFT=2^nextpow2(Fs);
ff=Fs/2*linspace(0,1,NFFT/2+1);
temp1=fft(y1,NFFT)/length(y1);
mag=2*abs(temp1(1:NFFT/2+1));
figure(3);plot(ff,mag);
% 对仿真信号进行带通滤波处理,要么将信号的傅里叶变换与带通滤波器的傅里叶变换相乘,再取傅里叶反变换;要么对带通滤波器的频谱取傅里叶反变换,再与信号进
% 行卷积运算。
temp2=ifft(phi_f); % ???????
figure(4);plot(real(temp2));
|