📄 hsolpsav.m
字号:
function [y] = hsolpsav(xn6,h,N)
%y=输出序列
%x=输入序列
%h=脉冲响应
%N=块长度(必须是2的整次方)
A=450;
omega0=50*pi;
a=100;
B=124;
n=0:B-1;
T=1/500;
xn6=A*exp(-a*n*T).*sin(omega0*n*T);;
h=[1 2.5 2.5 1];
yn6=conv(xn6,h);
subplot(1,2,1);
stem(yn6,'.');
xlabel('n');
ylabel('y6(n)');
title('时域卷积法直接求系统响应y6(n)');
xlim([0 128]);
N=8;
N = 2^(ceil(log10(N)/log10(2)));
Lenx = length(xn6); M = length(h);
M1 = M-1; L = N-M1;
h = fft(h,N);
xn6 = [zeros(1,M1), xn6, zeros(1,N-1)];
K = floor((Lenx+M1-1)/(L));
Y = zeros(K+1,N);
for k=0:K
xk = fft(xn6(k*L+1:k*L+N));
Y(k+1,:) = real(ifft(xk.*h));
end
Y = Y(:,M:N)'; y = (Y(:))';
subplot(1,2,2);
plot(y);
xlabel('n');
ylabel('y6(n)');
title('重叠保留法求系统响应y6(n)');
xlim([0 128]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -