?? hc971r.m
字號:
clear
Nx=10;alpha=0.5;T=1;L=3;fsx=2;
nx=0:Nx-1; % 設定x的自變量向量
x=exp(-alpha*nx*T); % 給出x序列的值
Ny=Nx*L;ny=0:Ny-1; % 設定y的自變量向量
p=ones(1,L*Nx); % 生成頻率為L*Nx的單位脈沖序列p
y=zeros(1,L*Nx); % 先y序列初始化(全置零)
y(1:L:L*Nx)=x; % 實行內插,給出y序列在x對應點處的值
b=[0,0.0019,0.0203,0.0772,0.1589,0.2,0.1589,0.0772,0.0203,0.0019,0]; %濾波器系數
y1=filter(b,1,y); % 用例7.3.3的濾波器進行濾波
y2=exp(-alpha*ny*T/L)/L; % 原始函數用高采樣率的序列
X=fftshift(fft(x)); % 求x頻譜,并移到對稱位置
Y=fftshift(fft(y)); % 求y頻譜,并移到對稱位置
P=fftshift(fft(p)); % 求p頻譜,并移到對稱位置
Y1=fftshift(fft(y1)); % 求y1頻譜,并移到對稱位置
Y2=fftshift(fft(y2)); % 求y2頻譜,并移到對稱位置
nxm=floor(nx-Nx/2+0.5); % 生成對零頻率對稱的X頻率位置序列
nym=floor(ny-Ny/2+0.5); % 生成對零頻率對稱的Y頻率位置序列
subplot(5,2,1),stem(nx,x,'.') % 以下繪圖
xlabel('nx'),ylabel('序列x') %
title('時域波形') %
axis([0,Nx,0,1.2])
subplot(5,2,3),stem(ny,p,'.') %
xlabel('ny'),ylabel('序列p') %
axis([0,Nx*L,0,1.2])
subplot(5,2,5),stem(ny,y,'.') %
xlabel('ny'),ylabel('y=p.*x') %
axis([0,Nx*L,0,1.2])
subplot(5,2,7),stem(ny,y1,'.') %
xlabel('ny'),ylabel('濾波后y1') %
axis([0,Nx*L,0,1.2/L])
subplot(5,2,9),stem(ny,y2,'.') %
xlabel('ny'),ylabel('理想插入y2') %
axis([0,Nx*L,0,1.2/L])
subplot(5,2,2),stem(nxm*2*pi*fsx/Nx,abs(X),'.') %
xlabel('\Omega'),ylabel('abs(X)') %
axis([-20,20,0,10])
title('與左圖對應的頻譜形狀') %
subplot(5,2,4),stem(nym*2*pi*fsx*L/Ny,abs(P),'.') %
xlabel('\Omega'),ylabel('abs(P)') %
subplot(5,2,6),stem(nym*2*pi*fsx*L/Ny,abs(Y),'.') %
xlabel('\Omega'),ylabel('abs(Y)') %
subplot(5,2,8),stem(nym*2*pi*fsx*L/Ny,abs(Y1),'.') %
xlabel('\Omega'),ylabel('abs(Y1)') %
subplot(5,2,10),stem(nym*2*pi*fsx*L/Ny,abs(Y2),'.') %
xlabel('\Omega'),ylabel('abs(Y2)') %
set(gcf,'color','w') % 置圖形背景色為白
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -