- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数位信号处理器应用实习九适应性滤波器[AdaptiveFilter]四电机二C.doc
數位信號處理器應用
實習九
適應性濾波器
[Adaptive Filter]
四電機二C
第15組
4980J173 王銘彬
4980J144 劉俊圻
指導老師:蔡和昌
民國100年5月23日一、 目的: 學習適應性濾波器及其程式, 並應用於弦波之濾波。
二、 原理: 設輸入資料為x(0, x(1),..., x(N ?1) , 輸出的資料為
三.程式
(a),適應性濾波器:
Desired訊號為s 2cos 2nπf / F , 雜訊為s sin 2nπf / F ,f = 1000Hz , F Hz s = 8000 , β = 0.01, N = 21, 取樣點數為40。
//ADAPTC.C - ADAPTATION USING LMS WITHOUT THE TI COMPILER
#include stdio.h
#include math.h
#define beta 0.01 //convergence rate
#define N 21 //order of filter
#define NS 40 //number of samples
#define Fs 8000 //sampling frequency
#define pi 3.1415926
#define DESIRED 2*cos(2*pi*T*1000/Fs) //desired signal
#define NOISE sin(2*pi*T*1000/Fs) //noise signal
main()
{
long I, T;
double D, Y, E;
double W[N+1] = {0.0};
double X[N+1] = {0.0};
FILE *desired, *Y_out, *error;
desired = fopen (DESIRED, w++); //file for desired samples
Y_out = fopen (Y_OUT, w++); //file for output samples
error = fopen (ERROR, w++); //file for error samples
for (T = 0; T NS; T++) //start adaptive algorithm
{
X[0] = NOISE; //new noise sample
D = DESIRED; //desired signal
Y = 0; //filteroutput set to zero
for (I = 0; I = N; I++)
Y += (W[I] * X[I]); //calculate filter output
E = D - Y; //calculate error signal
for (I = N; I = 0; I--)
{
W[I] = W[I] + (beta*E*X[I]); //update filter coefficients
if (I != 0)
X[I] = X[I-1]; //update data sample
}
fprintf (desired, \n%10g %10f, (float) T/Fs, D);
fprintf (Y_out, \n%10g %10f, (float) T/Fs, Y);
fprintf (error, \n%10g %10f, (float) T/Fs, E);
}
fclose (desired);
fclose (Y_out);
fclose (error);
}
(B), 利用DSK實現適應性濾波。
所需訊號為1500Hz的sin波, 雜訊為312Hz的sin波, 參考訊號為
312Hz的cos波。在下列程式中, 會含入2個h檔,分別是
(1). dplusn: sin(1500Hz)+sin(312Hz)
(2). Refnoise: cos(312Hz).
操作程式如下:
程式(1):
//Adaptnoise.c Adaptive FIR filter for noise cancellation
#include refnoise.h //cosine 312 Hz
#include dplusn.h //sin(1500) + sin(312)
#define beta 1E-9 //rate of convergence
#define N 30 //# of
文档评论(0)