Other Parts Discussed in Thread: IWR1443,
滤波器如下
asda=unwrap(angle(xiangweixinxi));
Fs=25; %每帧40ms 帧率25 根据我之前提过的问题,得知采样频率=帧率
n=length(asda);
wp=[0.8*2*pi/Fs,2*2*pi/Fs]; %设置通带数字角频率[0.8hz-2hz]
ws=[0.5*2*pi/Fs,3*2*pi/Fs]; %阻带0.5 3
Rp=1; %通带最大衰减
Rs=20; %阻带最小衰减
[N,Wn]=buttord(wp,ws,Rp,Rs,'s'); %求巴特沃斯滤波器阶数N和截止频率Wn
fprintf('巴特沃斯滤波器 N= %4d\n',N); %显示滤波器阶数
[bb,ab]=butter(N,Wn,'s'); %求巴特沃斯滤波器系数,即求传输函数的分子和分母的系数向量
rrr=filter(bb,ab,asda);
%rrr=filter(bb,ab,unwrap(real(r))); %filter既能进行IIR滤波又能进行FIR滤波
figure;subplot(121);plot(1:n,asda);subplot(122);plot(1:n,rrr)
频率估计算法如下
x=rrr;
fs=25;N=length(x); %采样频率和数据点数
n=0:N-1;t=n/fs; %时间序列
y=fft(x,N); %对信号进行快速Fourier变换
mag=abs(y); %求得Fourier变换后的振幅
f=n*fs/N; %频率序列
subplot(2,2,1),plot(f,mag); %绘出随频率变化的振幅
xlabel('频率/Hz');
ylabel('振幅');title('N=128');grid on;
subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅
xlabel('频率/Hz');
ylabel('振幅');title('N=128');grid on;
%对信号采样数据为1024点的处理
最后得到的图像并不是0.8-2的信号,好像在更高的频率处的幅度比较高,不知是哪里有问题。