MatLab:
1,终端中输入 fdatool
2,选择参数,如下
3,【Edit】
→
\rightarrow
→【convert structure…】
4,【Edit】
→
\rightarrow
→【convert to Single section】
5,【File】
→
\rightarrow
→【Generate MATLAB code 】
→
\rightarrow
→【Filter Design Function】 保存 我这里选择的是 Lowpass.m
6,【File】
→
\rightarrow
→【Export…】
Butterworth 时域滤波公式
y
[
i
]
=
∑
j
=
0
N
+
1
(
b
[
j
]
×
x
[
i
−
j
]
)
−
∑
j
=
1
N
+
1
(
a
[
j
]
×
y
[
i
−
j
]
)
y[i]=\sum_{j=0}^{N+1}(b[j]\times x[i-j])-\sum_{j=1}^{N+1}(a[j]\times y[i-j])
y[i]=j=0∑N+1(b[j]×x[i−j])−j=1∑N+1(a[j]×y[i−j])
其中 b为Num、a为Den、N为阶数
将Num Den 导出
编写c++语言代码:
产生频率为 50、300的正弦波
改变printf 生成 x和y
code :
#include <bits/stdc++.h>
using namespace std;
#define pi 3.1415926
#define S 1000
typedef struct {
double InPut;
double OutPut;
double x[11];
double y[11];
double b[11]={0.00049945,0.0049945,0.022475,0.059934,0.10489,0.12586,0.10489,0.059934,0.022475,0.0049945,0.00049945};
double a[11]={1,-1.9924,3.0195,-2.8185,2.0387,-1.0545,0.41445,-0.11572,0.022499,-0.0026689,0.00014876};
int Begin=0;
int End=0;
int M=0;
int N=11;
}IIR;
void IIRCalc(IIR &Lowpass){
Lowpass.x[Lowpass.Begin]=Lowpass.InPut;
Lowpass.y[Lowpass.Begin]=Lowpass.OutPut=0;
Lowpass.End=(Lowpass.Begin)%Lowpass.N;
for(int i=0;i<Lowpass.N;i++){
if(Lowpass.End<0){
Lowpass.End=(Lowpass.End+Lowpass.N)%Lowpass.N;
}
Lowpass.OutPut+=Lowpass.b[i]*Lowpass.x[Lowpass.End];
Lowpass.OutPut-=Lowpass.a[i]*Lowpass.y[Lowpass.End];
--Lowpass.End;
}
Lowpass.y[Lowpass.Begin]=Lowpass.OutPut;
++Lowpass.Begin;
if(Lowpass.Begin>=Lowpass.N){
Lowpass.Begin=0;
}
}
IIR Lowpass;
int main(){
freopen("out.txt", "w", stdout);
for(int i=0;i<S;i++){
if(sin(2*pi*100*i/1000)>0) Lowpass.InPut=5;
else Lowpass.InPut=0;
IIRCalc(Lowpass);
printf("%lf ,", Lowpass.OutPut);
}
}
将 x y的数据复制到 MATLAB中,查看结果
MATLAB code:
x=[0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,5.000000 ,0.000000 ,0.000000 ,0.000000 ,0.000000 ,];
y=[0.000000 ,0.002497 ,0.032445 ,0.196948 ,0.740984 ,1.931973 ,3.694213 ,5.337129 ,5.885702 ,4.878327 ,2.802004 ,0.703358 ,-0.537560 ,-0.582657 ,0.443640 ,2.164129 ,4.042906 ,5.420045 ,5.702908 ,4.707834 ,2.829188 ,0.841061 ,-0.478677 ,-0.649599 ,0.363548 ,2.169119 ,4.104456 ,5.449851 ,5.673689 ,4.670028 ,2.830362 ,0.869649 ,-0.464139 ,-0.662928 ,0.345608 ,2.169334 ,4.117860 ,5.456904 ,5.667553 ,4.661501 ,2.830322 ,0.875946 ,-0.460722 ,-0.665756 ,0.341554 ,2.169250 ,4.120819 ,5.458558 ,5.666250 ,4.659574 ,2.830251 ,0.877336 ,-0.459921 ,-0.666356 ,0.340639 ,2.169201 ,4.121472 ,5.458945 ,5.665974 ,4.659139 ,2.830222 ,0.877642 ,-0.459735 ,-0.666483 ,0.340432 ,2.169184 ,4.121616 ,5.459035 ,5.665916 ,4.659041 ,2.830212 ,0.877709 ,-0.459691 ,-0.666509 ,0.340386 ,2.169179 ,4.121647 ,5.459056 ,5.665904 ,4.659019 ,2.830209 ,0.877724 ,-0.459681 ,-0.666515 ,0.340375 ,2.169177 ,4.121654 ,5.459061 ,5.665901 ,4.659014 ,2.830208 ,0.877727 ,-0.459679 ,-0.666516 ,0.340373 ,2.169177 ,4.121656 ,5.459062 ,5.665901 ,4.659013 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,2.830208 ,0.877728 ,-0.459678 ,-0.666516 ,0.340372 ,2.169177 ,4.121656 ,5.459063 ,5.665901 ,4.659012 ,];
subplot(6,1,1);
plot(x);
subplot(6,1,2);
y1=abs(fft(x)).*2/1000;
plot(y1);
y3 = filter(loss,x);
subplot(6,1,3);
plot(y3);
subplot(6,1,4);
y4=abs(fft(y3)).*2/1000;
plot(y4);
subplot(6,1,5);
plot(y);
subplot(6,1,6);
y5=abs(fft(y)).*2/1000;
plot(y5);
同样 带阻滤波器如下:
code
#include <bits/stdc++.h>
using namespace std;
#define pi 3.1415926
#define S 50000
double x[200000];
double y[200000];
double b[20]={ 0.36979, -1.1967, 3.3981,-5.7896,8.6699,-9.2278,8.6699,-5.7896,3.3981,-1.1967,0.36979};
double a[20]={1,-2.6071, 5.8006,-7.9918,9.6486,-8.442,6.5155,-3.631,1.7741,-0.52858,0.13674};
int main(){
freopen("out.txt", "w", stdout);
for(int i=15;i<S;i++){
x[i]=sin(2*pi*5000*i/S)+sin(2*pi*6000*i/S)+sin(2*pi*7000*i/S)+sin(2*pi*8000*i/S)+sin(2*pi*9000*i/S)+sin(2*pi*10000*i/S)+sin(2*pi*15000*i/S);
for(int j=0;j<11;j++)
y[i]+=b[j]*x[i-j];
for(int j=1;j<11;j++)
y[i]-=a[j]*y[i-j];
printf("%lf ,", y[i]);
}
}
MATLAB 显示 同上