马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
连续系统微分方程为:y''(t)+2ζΩ y'(t)+Ω^2*y(t)=x(t)
现需要将系统离散化,并加随机噪声输入,用Y(w)/X(w)的方法求频响函数H(w),不知道程序对不对,这块儿概念比较模糊,请各位前辈指点一下:
f=50; %系统频率
ts=0.01; %采样周期
w=2*3.14159*f; %角频率
j=0.1; %阻尼比
R=256; %输入信号长度
N=512; %FFT变换点数
num=[0 0 1];
den=[1 2*j*w w*w];
sys=tf(num,den); %连续系统传递函数
[numd,dend]=c2dm(num,den,ts,'tustin'); %双线性变换得离散方程
x=rand(1,R)-0.5; %产生(-0.5,0.5)均匀分布的随机噪声
y=filter(numd,dend,x); %随机噪声信号通过系统的响应
fx=fft(x,N);
fx_pos=fx(1:N/2);
fy=fft(y,N);
fy_pos=fy(1:N/2);
Hw1=fy_pos./fx_pos;
figure
Hw1f=abs(Hw1);
f_pos=[0:(1/(ts*N)):((N/2-1)/(ts*N))];
plot(f_pos,Hw1f);
[ 本帖最后由 xyhan 于 2008-1-7 02:15 编辑 ] |