Konstruktionsuppgift (nr: 4)

Av: Johan Lundberg & Peter Nilsson

Uppgift:

Hur många filter av typen 1/(1 - a*z^(-1) - b^(-2)) kan läggas i serie med fyra serier parallellt.

Vi valde a = 0.5 och b = 0.4 efter testande. Täljaren fick värdet 0.2 eftersom det gav balanserad förstärkning.
 

Simulering:

FIR1=filt([0.2],[1 -0.5 -0.4],0.001) skrevs i Matlab

 
 

Ett, två & fyra filter i serie:
FIR4=FIR1*FIR1*FIR1*FIR1;


 
 

Realisering av filtret i dSpace

Kompilatorn i MatLab generar mycket C-kod i flertalet filer.
Här är förslag på hur koden kan förbättras. Insy4_1 heter filtret, namnen efter det är samma och rekommendationerna gäller för alla våra filter.

Insy4_1_export.h innehåller ingenting.
Insy4_1_bss.h innehåller ingenting.

Insy4_1_common.h har definitioner av tre typer. Typen Parameters_tag används inte någon annanstans.
Inte ens Insy4_1_prm.h använder inkluderar inte den filen. prm.h initierar filtrernas parametrar av typen Parameters, inte Parameters_tag.

Insy4_1_bss.h innehåller ingenting.
Insy4_1.c inkluderar math.h och string.h men det ser inte ut som dem kan behövas någonstans i koden för den filen.
 

Mätning med oscilloskop för olika antal filter.
Som synes har dessa filter exakt förstärkningen 1 vid 20 Hz, vid den frekvensen mätte och jämförde vi olika filterkombinationer.

Frekvensen på insignalen har ingen påverkan på hur processorn klarar av filtret.
 
Antal filter i serie Funktion Fasförskjutning (grader)
1 Väl fungerande -60
2 Väl fungerande -110
3 Väl fungerande -195
4 Väl fungerande -220
5 Väl fungerande -278
6 Väl fungerande -336
8 Acceptabel signal <-360
10 Kanal 4 instabil, 1, 2 & 3 acceptabla ?
12 Kanal 3 & 4 väldigt instabila, 1 & 2 död ?
16 Helt död ?

Mätning på enkelt filter med oscilloskop, realiserat med dSpace-kortet.

Vid 20 Hz som är markerat är förstärkningen 1, precis som simuleringen tydde på.
 
 

Förslag på praktisk konstruktion

 
 Målsättningen med konstruktionen har varit att den skall vara liten, dra lite ström samt att den skall efterlikna dSpace-kortet. För att erhålla rätt spänning till DSP:n har ”MAX 882” switchregulatorer valts, DSP:n skall ha 3,3V för att driva I/O-portarna och 1,5V till processorn. Förlustströmmen i regulatorerna är endast 15µA/styck vilket i praktiken inte är någonting i jämförelse med DSP:ns maximala effektförbrukning på 20mW, eftersom huvudelen av effekten går till processorn kommer DSP:n att maximalt dra ca 13mA.

 A/D-omvandlaren är en ”MAX 1293” som har 12-bitars upplösning och klarar att sampla i 250kHz, den har en maximal strömförbrukning på endast 1,9mA. Den drivs med 3,3V och har ett 8-bitars parallellgränssnitt.

 D/A-omvandlaren är en ”MAX 5742” som har 12-bitars upplösning, dess maximala strömförbrukning är endast 0,42mA. Drivspänningen är 3,3V och gränssnittet är ett 3-trådars seriegränssnitt. D/A:ns drivspänning var ett ganska stort huvudbry eftersom en maximal utspänning på 10V skulle ha krävt en A/D-omvandlare med en strömförbrukning på ca 10mA. Dessutom skulle någon form av step-up regulator ha krävts för att erhålla tillräcklig matningsspänning till en dylik A/D-omvandlare. Efter en tids funderande valdes istället en A/D-omvandlare som kan matas med 3,3V och även ger ut max 3,3V. I ett bärbart system med små mått och låg strömförbrukning torde en sådan A/D-omvandlare platsa tämligen väl.

 Som kronan på verket har ett vanligt 9-volts batteri av typen 6F22 valts. Det ger stora valmöjligheter, man kan använda ett vanligt kiosk-batteri, ett laddbart NIMH-batteri eller ett litium batteri. Man kan då välja det batteri som har de önskade egenskaperna för det bärbara systemet, om till exempel extremt lång lagringstid eftersträvas väljer man ett litium batteri. Eftersom det är en vanlig batterityp bör det inte vara några svårigheter att byta batteri då den dagen nalkas. Konstruktionen tillåter en så låg batteri spänning som 4,3V vilket innebär ett maximalt utnyttjande av den tillgängliga batteri kapaciteten. Hela konstruktionen drar endast 28mW vid maximal belastning vilket ger en batteri livslängd på ca 400 timmar om ett litiumbatteri på 1200mAh används.
 


 
 

Elektriskt schema

 

Blockschema:
Nedan syns kretskortet med samtliga komponenter och skruvhål utplacerade på kortet som endast mäter 51 x 29 mm.
På undersidan av kortet sitter en batterihållare från Elfa (art-nr: 69-615-85).

Länkar

http://apollo.rsn.hk-r.se/~colle/gfx/education/mat2dsp/Exjobb_final.html
http://www.ite.mh.se/~patost/indexlinks.html