【MatLab fdatool】Butterworth 低通 & 带阻 滤波器 (MatLab &C++)

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=0N+1(b[j]×x[ij])j=1N+1(a[j]×y[ij])
其中 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 显示 同上

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值