数字信号处理实验-群延迟的实现

一、实验目的

1.了解熟悉MATLAB中cumsum、ifft、conv、filter、conj、flip函数的使用;

2.在已知Group Delay、Magnitude Response、输入x[n]的情况下,求出输出y[n]。

二、实验原理

Linear Phase FIR Filter Frequency Response:

三、实验设计及操作

1、写入群时延和幅度响应;

2、通过计算群时延的积分得出相位;

3、通过幅度响应和相位表示出传递函数表达式;

4、写入输入序列x[n];

5、输出序列y[n]。

四、实验结果及分析

通过比较输入和输出的图像,可以发现最高频(输入信号中三个频率信号的最高频,下同)已被滤去,中频和低频保留,位置交换,但相对相位关系没有改变。

常数幅度增益和线性相位延迟保证了信号传输不失真和各频率成分相对相位关系不改变,即信号经过滤波器后,各个频率分量的延时时间是一样的。

五、实验总结和提升

实现了在MATLAB中基于线性相位有限滤波器已知输入计算输出,加深了对线性相位滤波器的理解,为日后的其他信号处理打下基础。

六、源代码

clear

clc

close all

%% Group Delay

theta=0.01:pi/150:pi;

GD=50*(theta>=0&theta<pi/5) + 200*(theta>=pi/5&theta<pi/2) + 50*(theta>=pi/2&theta<=pi);

figure(1);subplot(311);

plot(theta,GD);xlabel('Radian frequency(w)');

set(gca,'XTick',0:pi/5:pi);

set(gca,'XTicklabel',{'0','¦Ð/5','2¦Ð/5','3¦Ð/5','4¦Ð/5','¦Ð'});

axis([0 pi 0 250]);

grid on;hold on;title('Group Delay');

%ÇóºÍ

SGD=cumsum(GD)*pi/150;

subplot(312);

plot(SGD);

%% Magnitude Response

MR=(theta>=0&theta<pi/2);

subplot(313);

plot(theta,MR);xlabel('Radian frequency(w)');

set(gca,'XTick',0:pi/5:pi);

set(gca,'XTicklabel',{'0','¦Ð/5','2¦Ð/5','3¦Ð/5','4¦Ð/5','¦Ð'});

axis([0 pi -0.5 1.5]);

grid on;title('Magnitude Response');

%% 输入x[n]

x=zeros(1,150);

for n=1:1:150

    x(n)=sin(0.8*pi*n).*(n>=1&n<=50) + sin(0.1*pi*n).*(n>=51&n<=100) + sin(0.3*pi*n).*(n>=101&n<=150);

end

figure(2);

plot(1:1:150,x);axis([-20 180 -1 1]);

title('Input Signal X[n]');

xlabel('Sample Number n');

%% 输出y[n] cumsum ifft filter plot conj共轭 flip对称

Hjw=MR.*exp(SGD*1j);

temp=flip(conj(Hjw));

Hjw(:,151:300)=temp;

Hn=ifft(Hjw);

%y=filter(sqrt(Hn),1./sqrt(Hn),x);

y=conv(Hn,x);

figure(3);

plot(1:1:449,y);

%% END

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋时的雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值