matlab线性拟合在滤波器设计中的应用

一般的,滤波器结构如下:
在这里插入图片描述

不同的电压,会对应滤波器不同的频率,由于测试,不可能穷尽所有的频率,通常是在测试完一些基础频率后,用matlab的线性拟合功能,完成图形的绘制。

初步测试数据如下:
在这里插入图片描述

初步在excel中画出来:可以看出,基本呈现线性关系
在这里插入图片描述

下面是matlab代码:
%线性拟合

x=[4,5,6,7,8,9,10,11,12]; %滤波器电压
y=[1855,2000,2100,2200,2355,2440,2540,2601,2706];%滤波器频率
p=polyfit(x,y,1); % polyfit是曲线拟合函数
x1=linspace(min(x),max(x)); %linspace 是用来生成一个等差数列的lin是linear的缩写,就是将生成一个以a和b为断点 共划分为n个区间的向量
y1=polyval(p,x1); % polyval是求值函数,可求得多项式在x1处的值y1
plot(x,y,’*’,x1,y1); % plot是画图函数,将两个图花在一起

%Polyfit–调用方法:polyfit(x,y,n)。用多项式求过已知点的表达式,其中x为源数据点对应的横坐标,可为行向量、矩阵,y为源数据点对应的纵坐标,可为行向量、矩阵,n为你要拟合的阶数,一阶直线拟合,二阶抛物线拟合,并非阶次越高越好,看拟合情况而定。

%polyfit 做出来的值从左到右表示从高次到低次的多项式系数,给出系数的个数是n+1。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shishu8385/article/details/84571959