周期性矩形圆知波(方波)信号:在MATLAB中用square函数来表示,其调用形式为
y=square(t,DUTY)
其作用类似于sin(t),用以产生一个时长为t、幅值为橘轿消±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。
例如频率为30Hz的周期性方波信号的MATLAB参考程序如下:
t=-2*pi/100:pi/1024:2*pi/100。
y=square(2*pi*30*t,50)。
plot(t,y)。帆胡
grid
ylim([-1.51.5])
程序:
wlp = 0.35*pi
whp = 0.65*pi
wc = [wlp/pi,whp/pi]
N = ceil(8/0.15)
n=0:N-1
window= hanning(N)
[h1,w]=freqz(window,1)
subplot(411)
stem(window)%画窗函数
axis([0 60 0 1.2])
grid
xlabel('n')
title('Hanning窗函数')
subplot(412)
plot(w/pi,20*log(abs(h1)/abs(h1(1)))) %画Hanning窗频谱图
axis([0 1 -350 0])
grid
xlabel('w/pi')
ylabel('幅度(dB)'猜配) 姿芹
title('Hanning窗函数的频谱')
hn = fir1(N-1,wc, hanning (N))%基于窗函数的 FIR 滤波器
[h2,w]=freqz(hn,1,512) %freqz是迹兆毕用离散傅里叶变换的标准公示计算的 fft使用快速傅里
subplot(413)
stem(n,hn)
axis([0 60 -0.25 0.25])
grid
xlabel('n')
ylabel('h(n)')
title('Hanning窗函数的单位脉冲响应')
subplot(414)
plot(w/pi,20*log(abs(h2)/abs(h2(1))))
grid
xlabel('w/pi')
ylabel('幅度(dB)')
title('滤波器相对幅度响应')
结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)