Beruflich Dokumente
Kultur Dokumente
Phn
Trang
Li m u ...................................................................................................................... 2
Li cm n ........................................................................................................................ 3
1. Yu cu v b lc FIR ......................................................................................... 4
III. Kt qu ....................................................................................................................... 23
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
LI M U
X l tn hiu s (Digital Signal Processing DSP) tr thnh mn hc c s cho nhiu
ngnh khoa hc, k thut: in- in t, Vin thng,Trong , php x l c bn nht
ca DSP l lc, v cc h thng c cp n nhiu nht trong x l tn hiu s l cc
b lc s (Digital Filter). Nu xt v p ng xung c th chia cc b lc s thnh 2 loi
chnh l b lc c p ng xung hu hn FIR (Finite Impulse Response) cn gi l lc
khng quy, v b lc c p ng cung v hn IIR (Infinite Impulse Response) cn gi
l lc quy. Xt v p ng tn s bin c th chia cc b lc, FIR hay IIR, thnh 4
loi c bn: thng thp, thng cao, thng di v chn di. Cc b lc ny c th c thit
k bng nhng phng php sau y: phng php ca s ( Window Design Techniques),
phng php ly mu tn s (Frequency Sampling Design Techniques) v phng php
xp x ti u cn bng gn sng (Optimal Equiripple Design Techniques).
Trong bo co bi tp ln ny, nhm xin php c trnh by vic thit k b lc thng
thp FIR bc 3 thc hin trn phn cng TMS320C5515 ca Texas Instrument (TI)
nm vng l thuyt v b lc FIR cng nh lm quen vi KIT TMS320C5515 v cc phn
mm h tr Code Composer Studio (CCS), MATLAB
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
LI CM N
Trn thc t khng c s thnh cng no m khng gn lin vi nhng s h tr, gip
t hay nhiu, d trc tip hay gin tip ca ngi khc. Trong sut thi gian thc hin bo
co ny, nhm em nhn c s quan tm, gip ca qu Thy c v bn b.
Vi lng bit n su sc nht, nhm xin chn thnh cm n PGS.TS L Tin Thng
hng dn nhm trong vic tip cn n cc vn X l s tn hiu hon thnh bo
co ny.
Project c thc hin trong gn sut hc k 2, bc u gip nhm tm hiu thm v
mt s kin thc cn hn ch v cn nhiu b ng. Do vy, khng trnh khi nhng thiu
st l iu chc chn, nhm rt mong nhn c nhng kin ng gp qu bu ca qu
Thy c v cc bn hc cng lp nhng kin thc ca nhm trong lnh vc ny c
hon thin hn.
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
()
() = ()( )
=0
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
1, ||
0,
sin ( )
1, ||
0,
sin ( )
c. B lc thng di l tng
p ng bin - tn s : | ( )| = {
1, 1 || 2
0
,
2
1
sin 2 ( )
sin 1 ( )
d. B lc chn di l tng
p ng bin - tn s : | ( )| = {
0, 1 || 2
1
,
2
1
sin 2 ( ) +
sin 1 ( )
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
Tn s ct di thng
Tn s ct di chn
gn sng di thng 1
gn sng di chn 2
Trn thc t, cc tham s thng c cho di dng tng i(relative specification) tnh
theo n v decibels di dng sau y:
gn sng di thng theo dB c tnh bng cng thc:
= 20 log
1 1
[]
1 + 1
2
[]
1 + 1
1
2
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
1
2
( ) = ()
[
vi (0) = (
),(
=0
1
1
() = 2 (
) , 1
2
2
1
2
dn n: ( ) = =0
() , () =
1
2
b. B lc FIR loi 2:
h(n) i xng, N chn, = 0, =
1
1
( ) = ()cos( ) 2
2
=0
[
]
vi () = 2 ( ) , 1
2
dn n: ( ) = =0
()cos( ) , () =
c. B lc FIR loi 3:
h(n) i xng, N l, = , =
1
2
1
)
2
( ) = () ( 2
[
vi () = 2 (
1
2
=0
) , 1
]
1
2
1
2
dn n: ( ) = =0
() , () =
1
2
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
d. B lc FIR loi 4:
1
1
( ) = ()sin( ) ( 2 2 )
2
=0
[
]
vi () = 2 ( ) , 1
2
dn n: ( ) = =0
()sin( ) , () =
1
2
, ||
, vi
0 ,
Th ta s thu c dy p ng xung
( ) =
sin ( )
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
1
2
Cc ca s thng dng:
Ca s ch nht
Ca s tam gic
Ca s Hamming
Ca s Hanning
Ca s Blackman
Ca s Kaiser
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
10
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
Hnh 1. B lc thng thp FIR dng phng php ca s trong Design v Response
Hnh 2. Chn bc b lc trong Filter v s dng ca s hnh ch nht bng cch chn
Rectangular Window trong Options
11
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
12
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
Hnh 5. Cc gi tr ca h(n)
Do vy, ta c () = {0.2406, 0.2594, 0.2594, 0.2406}
Da vo thit k b lc FIR trn, m phng bng code Matlab nh sau
Tn hiu u vo x(t ) 5sin(1000 t ) 3cos(4000 t ) 6sin(20000 t ) 8cos(32000 t )
f1=500;
f2=2000;
f3=10000;
f4=16000;
fs=40000;
T=1/fs;
L=1000;
t=(0:L-1)*T;
NFFT = 2^nextpow2(L);
x=5*sin(2*pi*f1*t)+3*cos(2*pi*f2*t)+6*sin(2*pi*f3*t)+8*cos(2*pi*f4*t);
X=fft(x,NFFT)/L;
f=fs/2*linspace(0,1,NFFT/2+1);
subplot(2,2,1);
plot(f,2*abs(X(1:NFFT/2+1)));
title('Input signal X(t)');
xlabel('f[Hz]');
ylabel('Magnitude of X(t)');
h4=[0.2406 0.2694 0.2594 0.2406];
y=conv(x,h4);
Ly=L+length(h4)-1;
NFFTy=2^nextpow2(Ly);
Y=fft(y,NFFTy)/Ly;
fy=fs/2*linspace(0,1,NFFTy/2+1);
subplot(2,2,2); plot(fy,2*abs(Y(1:NFFTy/2+1)));
title('Output signal Y(t) after X(t) pass throw Lowpass FIlter 3kHz');
xlabel('f[Hz]'); ylabel('Magnitude of Y(t)');
13
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
15
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
Hnh 9. Phn mm giao tip gia PC vi b KIT Code Composer StudioTM (CCS)
Code Composer Studio l mi trng pht trin tch hp c TI xy dng nhm h tr
khch hng trong vic tip cn v pht trin ng dng vi cc sn phm ca TI. IDE ny
c mi trng lm vic kh thn thin, c kt hp vi Programer v Debugger.
V c to ra t matlab nh sau
f1=500;
f2=2000;
f3=10000;
f4=16000;
fs=40000;
T=1/fs;
L=1000;
t=(0:L-1)*T;
% Tao tin hieu x(n) cac tan so f1, f2, f3, f4
x=5*sin(2*pi*f1*t)+3*cos(2*pi*f2*t)+6*sin(2*pi*f3*t)+8*cos(2*pi*f4*t);
% Tao file du lieu vao dang binary
id = fopen('F:\Project\x.bin','wb');
fwrite( id, x, 'float') ;
fclose(id) ;
16
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
Sau khi chy trong matlab, nhm c file x.bin lm ng vo ca KIT TMS320C5515.
Trong CCS 6.1, to Project mi lp trnh cho KIT vi cc thng s b FIR tn s ct
3kHZ nh trn:
h = {0.2406, 0.2694, 0.2594, 0.2406}
Trong main.c
#include <stdio.h>
#include <stdlib.h>
#include "usbstk5515.h"
#include "convolution.h"
#include "overlap.h"
#define
#define
Lx
1000
= ( float* ) malloc(
Lx
* sizeof ( float* ) ) ;
ytemp = ( float*)
malloc(
* sizeof ( float* ) ) ;
if( ( x == NULL )
{
printf(" Error : Memory full \n") ;
exit ( 1 ) ;
}
overlap( M, h, Lx, x, y, ytemp ) ;
printf(" OK \n " ) ;
return 0 ;
}
17
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
Trong overlap.c
#include <stdio.h>
#include <stdlib.h>
#include "overlap.h"
#include "usbstk5515.h"
#include "convolution.h"
float *h ,
// buffer_data
// count var
// tranmitter
// receiver
float sizefile
;//Int32 sizefile ;
//
sizefile of input
(byte)
Uint32 number_block ;
//
//--------------------------------------------------------------------------------//
//
//--------------------------------------------------------------------------------//
pfile_in = fopen("D:\\CCS\\workspace\\LowpassFilter\\x.bin","rb");
pfile_out = fopen("D:\\CCS\\workspace\\LowpassFilter\\y.bin","wb");
if ( ( pfile_in == NULL ) || ( pfile_out == NULL ) )
{
18
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
Buffer Data
//--------------------------------------------------------------------------------//
pdata_in
//--------------------------------------------------------------------------------//
fseek( pfile_in, 0L , SEEK_END ) ;
sizefile = (float)ftell ( pfile_in ) ;
Processing
//--------------------------------------------------------------------------------//
for ( i = 0 ; i < M ; i++ )
ytemp[i] = 0 ;
for ( number_block = 0 ; number_block <
number_block++ )
sizefile /( 4*Lx )
19
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
) )
data[1] =
data[2] =
data[3] =
+= ytemp[ k ] ;
ytemp[ k ] = y[ k + Lx ] ;
}
//--------------------------------------------------------------------------------//
for (i = 0; i < Lx ; i++ )
{
tempt = *( p_y_Uint32 + i ) ;
*( pdata_out + 4*i
) =
(Uint8) (
);
)
>> 8
) ;
>> 16
) ;
*( pdata_out + 4*i + 1 ) =
*( pdata_out + 4*i + 2 ) =
20
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
*( pdata_out + 4*i + 3 ) =
X l tn hiu tng t v s
Nhm 1
>> 24
) ;
}
fwrite( pdata_out, sizeof(Uint8), 4 * Lx, pfile_out) ;
}
//--------------------------------------------------------------------------------//
//--------------------------------------------------------------------------------//
) )
data[1] =
data[2] =
data[3] =
0 ;
}
//--------------------------------------------------------------------------------//
conv( M, h, Lx, x, y ) ;
21
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
+= ytemp[ k ] ;
ytemp[ k ] = y[ k + Lx ] ;
}
//--------------------------------------------------------------------------------//
for (i = 0; i < Lx ; i++ )
{
tempt = *( p_y_Uint32 + i ) ;
*( pdata_out + 4*i
) =
(Uint8) (
) ;
8
) ;
16
) ;
24
) ;
*( pdata_out + 4*i + 1 ) =
>>
*( pdata_out + 4*i + 2 ) =
>>
*( pdata_out + 4*i + 3 ) =
>>
}
fwrite( pdata_out, sizeof(Uint8), 4 * Lx, pfile_out) ;
//--------------------------------------------------------------------------------//
for (i = 0; i < M ; i++ )
{
tempt = *( ytemp + i ) ;
*( pdata_out + 4*i
) =
(Uint8) (
) ;
8
16
24
*( pdata_out + 4*i + 1 ) =
>>
*( pdata_out + 4*i + 2 ) =
) ;
>>
*( pdata_out + 4*i + 3 ) =
>>
) ;
) ;
}
22
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
X l tn hiu tng t v s
Nhm 1
Close
//--------------------------------------------------------------------------------//
free(pdata_in);
free(pdata_out) ;
fclose(pfile_in) ;
fclose(pfile_out) ;
III. Kt qu
Kt qu thc hin c
Nhm tm hiu l thuyt b FIR v mt s l thuyt lin quan trong bi tp ln
ny.
Tm c b lc c p ng ph hp vi yu cu ca project
Thc hin code trong CCS v build thnh cng
M phng MATLAB c kt qu ph hp vi yu cu
23
Bo co bi tp ln
GVHD: PGS.TS L Tin Thng
IV.
X l tn hiu tng t v s
Nhm 1
24