欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
MATLAB聯合ccs做數字濾波器程序設計,適合純小白
[打印本頁]
作者:
DJN
時間:
2020-6-24 09:34
標題:
MATLAB聯合ccs做數字濾波器程序設計,適合純小白
之前學習的內容,因為沒有開發板,所以只能ccs聯合MATLAB一起做數字濾波器的設計。這個對于剛剛接觸的新手還是非常有難度的,像我就熬了一個通宵才做出來,當然還是有點菜。詳細的程序都在安裝包里。可以參考。而且ccs這個軟件有點迷,有時候沒有圖或者一些錯誤,可能重啟一下軟件就好了。
51hei.png
(9.09 KB, 下載次數: 88)
下載附件
2020-6-24 15:57 上傳
源程序如下:
/*
* main.c
*/
#include "math.h"
#include "stdio.h"
#include <stdint.h>
#include "stdlib.h"
#include "string.h"
#include "limits.h"
//#include"fdacoefsiir900.h"
//#include "fdacoefsiir600.h"
//#include "fdacoefsiir50+900.h"
//#include "fdacoefsiir50.h"
#include "fdacoefs50001.h"
#define length 2048
#define pi 3.1415926
long fs=10000;
int f1=50;
int f2=200;
int f3=600;
int f4=900;
#define w1 2*pi*f1/fs
#define w2 2*pi*f2/fs
#define w3 2*pi*f3/fs
#define w4 2*pi*f4/fs
double input[length];
double output[length];
static double xlast[2];
static double mlast[2];
static double IIR_DR2(double x,double *plast,const double (*A)[3],const double (*B)[3])
{
double tmp,last;
tmp = x*B[0][0];
last = tmp - (A[1][1]*plast[0] + A[1][2]*plast[1]);
tmp = last + (B[1][1] * plast[0] + B[1][2]*plast[1]);
plast[1] = plast[0];
plast[0] = last;
return tmp;
}
double IIR_Filter(double x)
{
double mid,y;
mid = IIR_DR2(x,xlast,DEN,NUM);
y = IIR_DR2(mid,mlast,&DEN[2],&NUM[2]);//二階濾波器組合成更高階數的濾波器
//更多階數...
return y;
}
void Init_Filter(void)//初始化中間數值
{
xlast[0] = 0;
xlast[1] = 0;
mlast[0] = 0;
mlast[1] = 0;
}
int main(void)
{
unsigned int i,n;
Init_Filter();
for(i=0;i<length;i++)
{
input[i]=2048*sin(w1*i)+2048*sin(w2*i)+2048*sin(w3*i)+2048*sin(w4*i);
}
for(n=0;n<length;n++)
{
output[n]=IIR_Filter(input[n]);
}
for(;;);
}
復制代碼
所有資料51hei提供下載:
7.zip
(101.16 KB, 下載次數: 50)
2020-6-24 09:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
wzg-235
時間:
2023-9-19 10:35
你好加個好友交流一下可以嗎?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1