mzbys 发表于 2016-5-25 15:17

matlab由实测输入输出数据怎样求频响函数

由实测输入输出数据求频响函数的matlab程序如下:
fs=1024;          %采样频率
N=468000;         %采样点数
f=(0:N-1)*fs/N;
y=load('C:\Users\zhang\Desktop\data5_jiasudu.txt');
m=load('C:\Users\zhang\Desktop\data1_jiasudu.txt');
A1=fft(y);
B1=fft(m);
H=A1\B1;
plot(f,H)
不知道是否正确?

Frank 发表于 2016-5-26 11:13

matlab有现成的求频响函数的命令:freqz

eastar 发表于 2016-5-26 13:07

tfestimate函数

minoz 发表于 2016-5-26 13:17

B=;
    A =;
    =freqz(B,A,400,'whole');
    Hf=abs(H);
    Hx=angle(H);
    clf
    figure(1)
    plot(w,Hf)
title('离散系统幅频特性曲线')
    figure(2)
    plot(w,Hx)
    title('离散系统相频特性曲线')

minoz 发表于 2016-5-26 13:17

作为参考你对照一下吧

mzbys 发表于 2016-5-27 21:32

Frank 发表于 2016-5-26 11:13
matlab有现成的求频响函数的命令:freqz

MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下两种:
(1)=freqz(B,A,N)
(2)=freqz(B,A,N,’whole’)
    (1)中B和A分别为离散系统的系统函数分子、分母多项式的系数向量,返回量H则包含了离散系统频响在 0~pi范围内N个频率等分点的值(其中N为正整数),w则包含了范围内N个频率等分点。调用默认的N时,其值是512。
但是我现在不知道A和B,该怎么求解?

Frank 发表于 2016-5-30 09:08

mzbys 发表于 2016-5-27 21:32
MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下两种:
(1)=freqz ...

那就用tfestimate函数

旧言虐心 发表于 2016-5-30 13:48

mzbys 发表于 2016-5-27 21:32
MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下两种:
(1)=freqz ...

楼上例子里的AB不能用吗???

ZH----过客 发表于 2016-5-30 15:20

Frank 发表于 2016-5-30 09:08
那就用tfestimate函数

不同的离散系统多项式因数是不同的!!!怎么用???

旧言虐心 发表于 2016-5-30 15:45

ZH----过客 发表于 2016-5-30 15:20
不同的离散系统多项式因数是不同的!!!怎么用???

额那就用另一把。。。

少少凌 发表于 2016-6-5 15:27

tfestimate函数 可以估计出频响函数表达式中的分子与分母么???

怪咖先生 发表于 2016-6-6 08:49

少少凌 发表于 2016-6-5 15:27
tfestimate函数 可以估计出频响函数表达式中的分子与分母么???

什么意思为什么要估计

刘长 发表于 2016-6-7 16:04

推荐王济,胡晓编著的MATLAB在振动信号中的处理一书,里面附有详细的程序,希望可以帮到你。
页: [1]
查看完整版本: matlab由实测输入输出数据怎样求频响函数