Tuesday 7 November 2017

Labview Fpga Moving Average


Beregning av flytende gjennomsnitt Denne VI beregner og viser det bevegelige gjennomsnittet, ved hjelp av et forhåndsvalgt nummer. For det første initierer VI to skiftregister. Toppskiftregisteret initialiseres med ett element, og legger kontinuerlig den forrige verdien med den nye verdien. Dette skiftregisteret beholder summen av de siste x-målingene. Etter å ha delt resultatene av add-funksjonen med den forvalgte verdien, beregner VI VI den bevegelige gjennomsnittsverdien. Bunnskiftregisteret inneholder en matrise med dimensjonen Gjennomsnitt. Dette skiftregisteret holder alle verdier av målingen. Byttefunksjonen erstatter den nye verdien etter hver løkke. Denne VI er veldig effektiv og rask fordi den bruker erstatningselementfunksjonen i løpet av mens sløyfen, og den initialiserer oppstillingen før den går inn i sløyfen. Denne VI ble opprettet i LabVIEW 6.1. Bookmark amp Shareexponentia l flytte gjennomsnittlig trinnsvar fpga Jeg har et problem med filteret mitt, det eksponentielle vektede glidende gjennomsnittlige filteret (IIR 1.st-ordre). Fra boken: Forståelse av digital signalbehandling (Lyons Richard) Jeg har følgende formel som beregner 3dB-frekvensen (fc) fra alfa. Alpha er parameteren for å styre filteret. Forskjellige ekvivalenter av filter: ynxnalpha (1-alfa) yn-1 Forholdet mellom fc og alpha: alpha cos (2fcfs) - 1 sqrtcos (2fcfs) - 4cos (2fcfs) 3 Hvis jeg nå velger en 3dB-frekvens på 0,0794Hz konstant (TC) 2s) alpha 0,00169621. (fs94Hz) For et IIR-filter 1ste ordre er stigningstiden (ta) av trinnresponsen (fra 10 til 90): ta2,2TC som resulterer i ta 4,4s. Men hvis jeg simulerer trinnsvaret, er min stigningstid ca 3 ganger av denne verdien på 14-årene. Jeg kan ikke forklare hvorfor trinnresponsen på filteret min varierer så mye. For mitt Moving Average-filter er den beregnede og simulerte stigeriden lik. Jeg har vi som utføres på FPGA vedlagt. Kanskje kan noen finne en feil. (se også alfa-filter eller RC-filter) Er samplingsfrekvensen (fs) riktig Hvis sløyfetidspunktet ikke samsvarer, ville det forklare det. Datatyper ser bra ut (for å få alfa innen 1). Men jeg vil foreslå en mindre endring i implementeringen. Som det står, er det litt utsatt for avrunding, fordi (1-alfa) gjentas ganger multipliseres med yn-1. En litt mer pålitelig metode er å si yn-1 (alfa (xn - yn-1)). Forskjellen er subtil, men gir meg bedre resultater mange ganger. Og det eliminerer en multiplikasjon. Forresten, tolk nummer gjør det samme som konverteringen fra FXP til bool da tilbake. Det er litt mindre forvirrende, skjønt. Jeg er litt forvirret av den tidsbestemte sløyfen som aldri sløyfer. Betyr det timing på den måten (jeg antok at det ikke ville, så aldri brukt det jeg bruker Loop Timer i stedet.) CLD Bruker siden rev 8.6. Melding 2 av 13 (1,045 Visninger) Re: exponentia l flytte gjennomsnittlig trinnsvar fpga 10-01-2015 02:05 - rediger 10-01-2015 02:17 takk for svaret ditt. 1, jeg beviser min prøvetakingsfrekvens med sløyfetimeren. Min inngang er 425.532 ticks som er lik 94 Hz. Denne tickrate er bekreftet av flått EWMA. --gt Kanskje noen kan teste koden og fortelle meg 2, jeg fant din tilnærming i triksene og tipper delen av Lyons bok. Jeg vil prøve, men kan du forklare runden å drive litt, jeg er ganske ny på dette området. Er det en ytterligere fordel å eliminere en multiplikator bortsett fra ressursene. Er frekvensresponsen, impulsresponsen og trinnresponsen den samme 3 Hvis jeg bare bithift, er jeg snill en vant til denne metoden. Ikke sikker på om reinterprate-funksjonen bruker mindre ressurser. Men takk for at du noterte det. 4, den tidsbestemte sløyfen detererer hver 425.532 ticks en gang. Så med en frekvens på 94Hz beregnes en verdi av koden, da koden inne i den tidsbestemte sløyfen bare trenger en iterasjon. Eller misforstår jeg spørsmålet ditt Jeg er ikke sikker på hvilke ytterligere opplysninger du trenger. Jeg prøver å sammenligne trinnresponsen til et bevegelige gjennomsnitt med et eksponentielt glidende gjennomsnitt (EWMA). Egentlig vil jeg bare bekrefte teorien. Som nevnt ovenfor for å få en tidskonstant på 2s ved en samplingsfrekvens på 94Hz, må alfa være 0,00169. Stigningen av trinnresponsen fra 10 til 90 av den endelige verdien er forskjellig fra teorien. Stigningstiden skal være 4,4s med tidskonstanten 2s, men jeg får nesten 14s hvis jeg kjører koden min på FPGA. Jeg bekreftet at med alpha 0,00169 tar min kode 1297samples for å komme fra 0,1 til 0,9 (sluttverdien er 1, start verdi 0). Som du kan se i koden, kontrollerer jeg sløyfetiden med indikatoren ticks ewma for å bekrefte samplingsfrekvensen til SCTL. Kan noen andre bekrefte de 1297samplene som trengs for alpha 0,00169 Fordi jeg tror at jeg trenger for mange prøver for å nå 0,9-verdien. Jeg har allerede implementert den foreslåtte EWMA-versjonen fra det første svaret. Det samme problemet her. Melding 5 av 13 (995 Visninger) Re: exponentia l flytte gjennomsnittlig trinnsvar fpga 10-01-2015 08:13 - redigert 10-01-2015 08:15 1, jeg beviser min prøvetakingsfrekvens med loop-timeren. Min inngang er 425.532 ticks som er lik 94 Hz. Denne tickrate er bekreftet av flått EWMA. --gt Kanskje noen kan teste koden og fortelle meg 2, jeg fant din tilnærming i triksene og tipper delen av Lyons bok. Jeg vil prøve, men kan du forklare runden å drive litt, jeg er ganske ny på dette området. Er det en ytterligere fordel å eliminere en multiplikator bortsett fra ressursene. Er frekvensresponsen, impulsresponsen og trinnresponsen den samme 3 Hvis jeg bare bithift, er jeg snill en vant til denne metoden. Ikke sikker på om reinterprate-funksjonen bruker mindre ressurser. Men takk for at du noterte det. 4, den tidsbestemte sløyfen detererer hver 425.532 ticks en gang. Så med en frekvens på 94Hz beregnes en verdi av koden, da koden inne i den tidsbestemte sløyfen bare trenger en iterasjon. Eller misforstår jeg spørsmålet ditt Jeg brukte et regneark til å simulere, og få nesten nøyaktig samme svar (1299 sykluser å gå fra 0,1 til 0,9). Regneark gjør et praktisk verktøy for å teste beregninger. 1. Okay. Ive har aldri brukt single-cycle-timed-Loop (SCTL) med T skrevet til stoppet. Det ville tvinge matematikkfunksjonene til å være single-cycle, men jeg er ikke sikker på om det er noen fordel. Jeg ville bare sørge for at tiden ble bekreftet, og det er. 2. Den avrundede driften vil sannsynligvis ikke oppstå med mindre inntaket er lite (mindre enn 0,1). Jeg ser nå at du har 40 biter (39 høyre for desimal) for tilbakemeldingen. Det tar ganske mye FPGA å multiplisere, men vil ikke ha avrundede problemer. Andre deler hadde bare 18 biter (17 desimalhøyde), så alpha (0.00169 - .000007) ganger ville en inngang på 0,1 ha vært 0.000169 - 0.000007, eller 7 feil). Men det multipliserer er også 40 bit, så du bør ikke se noen problemer. Utgående yn har vanligvis færre biter, og vil avrunde ved siste bit. Men fordi det er i en sløyfe som multipliseres med 1-alfa hver gang, samles avrundingen noen ganger i hver sløyfe til den er stor nok til å påvirke resultatene. Det er vanskelig å forklare, men min generelle tommelfingerregel er at jeg forventer en feil som er lik den minste delen divisjonert med alfa, ved hjelp av den opprinnelige metoden, eller om lag halvparten som utelukker en-multiplikasjonsmetoden. Svarene vil være nesten identiske, bortsett fra en liten forskjell. Den største fordelen er å lagre FPGA-plass (og kompilere tid). Og du kan redusere antall biter ganske mye for å spare enda mer. 3. De er i utgangspunktet identiske. Og begge metodene er gratis i FPGA. Bittene arent endret, så ingen logikk er nødvendig, de er bare relabeled. 4. Jeg tror du svarte det bra. Vanligvis vil jeg på dette tidspunktet justere alfa til resultatene mine stemmer overens med det jeg ønsket, og fortsett. Jeg hater ikke å forstå en mismatch, men har vanligvis ikke tid til å dykke inn i den. Men, for vitenskapens skyld, kan vi vurdere at formelen din kan være feil. Jeg tror du kan bruke en formel for en kontinuerlig eksponensiell forfall (e-ttau), ikke for et diskret eksponensielt forfall ((1-alfa) i). Det er lettere å se på dette som en trinnfunksjon fra 1 til 0. I så fall er yn (for ngt0) yn (1-alfa) (n). Vi finner n for yn 0,9, som nlog1-alfa (0,9) 62 og n for yn 0,1, som 1361, for en forskjell på 1299. CLD-bruker siden rev 8.6. takk for ditt detaljerte svar. Når det gjelder problemet med stigningstiden, tror jeg jeg fant feilen. Det kan hende du har det riktig at formelen ikke er riktig, eller hva som mer sannsynligvis misforstås av meg og sett i feil sammenheng. Da jeg syklet hjem fra jobb, husket jeg en praktisk funksjon av labview: utjevning av filterkoeffisienter. vi Her må du bare sette tauTC og fs og det beregner nominator og nevner for eksponentielt glidende gjennomsnitt og glidende gjennomsnitt. Som nominatoren er alfa, kan jeg sammenligne resultatet med formelen jeg brukte, og det var ganske forskjell. Labview bruker følgende formel: alpha1-exp (-1 (fsTC)). Med denne formelen er TC2s lik alpha0,0053. Og med dette alfaet jobber min simulering Risetime 4,4s Sitere deg: Generelt, på dette tidspunktet ville jeg justere alfa til resultatene mine stemmer overens med hva jeg ønsket, og fortsett. Jeg vil gjerne gjøre det samme, men da dette er min masteroppgave, må jeg løse slike ting. Nå tilbake til avrundingsproblemer. Jeg forstår at små verdier er et større problem. Siden dette filteret brukes i Lock In, vil verdiene bli REALLY små. Men jeg har allerede testet det på vår måleenhet og det fungerer, derfor skal jeg teste din versjon også, men hvis jeg ikke får problemer, antar jeg at jeg holder den på 40bit. Simulering av følgende oppsett forårsaket en feil på 2.3. Ved å bruke 57 bits reduserte feilen til under 1. Jeg tror 40bits skal være nok. Og om ressursene har jeg ingen bekymringer. Selv om jeg bruker en myrio til slutt, har jeg fortsatt mange DSP-skiver for multiplikasjon og 10 gratis FlipFlops. Så jeg antar at dette emnet er løst. Takk for din gode hjelp og interessante tanker. Cool Im glad det jobber, nå. Jeg vokste opp i epoken uten DSP-skiver i FPGA, og mindre celle-teller, så fortsatt en tendens til å tenke i disse termer. Jeg foretrekker fortsatt å bruke 25 minutter programmering for å få min kompilere ganger nede, skjønt. Ive hadde tilfeller der jeg kuttet kompileringstid fra 90 minutter til 45 minutter ved å optimalisere ganske mye. Med en kraftig server for kompilering, det er mindre viktig. En av disse optimaliseringene er å redusere bittall hvor jeg kan, spesielt for multiplikasjoner. For eksempel er alfa 160, og for 0.0053, kan du også bruke 12-4 (negativt heltalltall). Du kan også være i stand til å eliminere mange øvre biter fra innspillet. 5 minutter å velge den minste bittellingen kan enkelt lagre 2-10 minutter for hver kompilering. Min andre optimalisering er å redusere multiplikasjoner, men med et DSP-stykke er det ikke så viktig. Jeg kan ikke finne god dokumentasjon om DSP-stykkene (hvis du har noen, vennligst legg inn linker), men som jeg forstår det, hvis du multipliserer større tall (bittall), trenger det flere skiver, og kanskje tid til å kombinere resultatene. Og enda et knep: velg en alfa med en enkel binær verdi, som 1256 (du valgte om 1189), og bytt fs til du får den utjevningen du vil ha. Bruk deretter en konstant for alfa. Multiplikasjon med en konstant 1256 er ledig i FPGA (den bare skifter biter). For det saks skyld kan alfa-konstant optimalisere multipliseringen ganske mye. Avhengig av optimeringens smarts kan det endres til et sett med adders i stedet. Frontpanelinngangene er gode for å få ting til jobb, men konstanter optimaliserer mye bedre. CLD Bruker siden rev 8.6. Hvis du gjennomsnittlig 16 ganger så mange prøver (fx 16x hva det var), bør du inkludere 4 flere biter i tilbakemeldingen din. Du har allerede pleanty, så det kan ikke være viktig med mindre du går mye raskere. Ellers er økende fs trolig bra. Hvis inngangen har lavfrekvent støy, hjelper ikke over prøvetaking eliminere det i det hele tatt. Høyfrekvent støy reduserer imidlertid med over-prøvetaking. Hvis for eksempel lyden over 10Hz er -5dB (det er 10-5 ganger amplituden til signalet du liker), og du prøver på 20S, vil du sannsynligvis plukke opp -5dB i de første lesningene. Hvis din -3dB (fc) også er 10Hz, vil du ende opp med rundt -8dB støy igjen i signalet ditt. Hvis du i stedet tar 200S, gjennomsnittlig gruppe på 10, deretter passerer disse gjennomsnittene til filteret, vil du ikke hjelpe støy ved 10Hz (du måler 10Hz-støy uten prøvetakseffekter), men vil redusere støy over 100Hz med en faktor nær ved (men egentlig ikke) 10. Det er hele semesterklasser som diskuterer hvorfor, hvordan osv. Den korte versjonen er dette: Hver prøve er summen av signalet du vil ha og støy. Hvis du legger til 10 prøver, får du 10x signalet du vil ha, og summen av 10 støy. Støys natur bestemmer hva du får når du legger til 10 støyprøver. Gaussisk støy legger til en vei (noe som helst: hvis 83 av prøvene er under X, summen har 83 summer under 1.1X, eller noe sånt). Linjær støy legger til en annen måte. Og gjentatte mønstre legger til en annen måte. Så uten å vite nøyaktig hva støyen er, kan ingen svare deg med sikkerhet, bortsett fra at gjennomsnittlig flere prøver sannsynligvis hjelper, og nesten aldri gjør vondt. Det er også spørsmålet om aliasing. Hvis du har en sinusinterferans på 60Hz, ved -3dB, og du prøver på 10.001S (alltid antar at klokkene ikke samsvarer presist), vil du få noe som 0,006Hz ved -3dB lagt til signalet ditt, og filteret vil ikke fjerne det . Men bumping samplingsfrekvensen til 100.001Ss, vil forstyrre på 40Hz, slik at filteret ditt skal eliminere det. Gjennomsnittlig 10 prøver om gangen er en type filter (boks). Hvis du ser på det i et frekvensdomene, kan du se at noen høyere frekvenser blir skiftet til lavere frekvenser på en merkelig måte, og ikke alle er redusert. Hvis du gjennomsnittlig 4000 Ss, 100 om gangen, får du et gjennomsnitt 40 ganger per sekund. Med 60Hz interferens vil du få omtrent 13 så mye støy, skiftet til 20Hz, som vil ikke filter så vel som 60Hz ville ha. Så det ville være bedre å bruke EWMA-filteret ved høyere samplingsfrekvens. enn til gjennomsnittlige blokker av innganger, så filtrer det. Og gjennomsnittlig er (sannsynligvis) bedre enn bare å bruke en langsommere samplingsfrekvens. Hvis du har en inngangskort med innebygde elektroniske filtre, det er enda bedre, og det er ikke nødvendig å prøve mer enn 2X filtrefrekvensen. CLD Bruker siden rev 8.6.LabVIEW Digital Filter Design Toolkit 8.2.1 Readme LabVIEW Digital Filter Design Toolkit 8.2.1 omhandler installasjonsproblemer med Windows Vista x64 Edition, 64-bitersversjonen, som er til stede i Digital Filter Design Toolkit 8.2. Hvis du har installert Digital Filter Design Toolkit 8.2, må du først avinstallere den versjonen før du installerer Digital Filter Design Toolkit 8.2.1. Denne filen inneholder informasjon for å introdusere deg til Digital Filter Design Toolkit. Denne filen gir deg også hjelpressurser du kan bruke mens du arbeider med verktøykassen. Filen inneholder følgende opplysninger du trenger å forstå. Digital Filter Design Toolkit gir en samling av digitale filterdesignverktøy for å komplettere LabVIEW Full eller Professional Development System. Digital Filter Design Toolkit hjelper deg med å designe digitale filtre uten at du må ha avansert kunnskap om digital signalbehandling eller digital filtreringsteknikker. Med Digital Filter Design Toolkit kan du designe, analysere og simulere flytende punkt og fikserte digitale filtre. Uten forkunnskaper om programmering i LabVIEW kan du bruke Digital Filter Design Express VI til å samhandle grafisk med filterspesifikasjoner for å designe passende digitale filtre. Digital Filter Design Toolkit gir VI som du kan bruke til å designe et filter med finitivt impulsrespons (FIR) eller uendelig impulsrespons (IIR), analysere egenskapene til det digitale filteret, endre implementeringsstrukturen til det digitale filteret og behandle data med det digitale filteret. I tillegg til den flytende punktstøtten, gir Digital Filter Design Toolkit et sett med VI som du kan bruke til å lage en fastpunkts digital filtermodell, analysere egenskapene til det fastpunkts digitale filteret, simulere ytelsen til den faste - punkts digitalt filter, og generer fast punkt C-kode, heltall LabVIEW-kode eller LabVIEW-feltprogrammerbar gate array (FPGA) - kode for et bestemt fast punktmål. Digital Filter Design Toolkit gir VI for multirate digital filter design. Du kan bruke VI til å designe og analysere et flytende punkts enkeltstrinns eller multistages multiratfilter. Du kan da bruke det designede multirate-filteret til å behandle data. Digital Filter Design Toolkit gir også et sett med VI som du kan bruke til å lage, analysere og simulere et fastpunkts multiratfilter. Du kan generere LabVIEW FPGA-kode fra det designede fastpunkts multirate-filteret for et NI Reconfigurable IO (RIO) mål. I tillegg til grafiske verktøy for digital filterdesign, tilbyr Digital Filter Design Toolkit også MathScript-funksjoner som LabVIEW MathScript støtter. Disse MathScript-funksjonene lar deg designe filtre i et tekstbasert miljø. For å bruke Digital Filter Design Toolkit må du ha National Instruments LabVIEW 8.2 eller nyere, Full eller Professional Development System, installert på vertsmaskinen. Merk: Hvis du vil bruke Digital Filter Design Toolkit til å generere LabVIEW FPGA-kode fra et fastpunktsfilter, må du ha National Instruments LabVIEW FPGA Module og NI-RIO-programvaren installert med LabVIEW. Kontroller at du installerer FPGA-modulen og NI-RIO-programvaren før du installerer Digital Filter Design Toolkit. Hvis du allerede har Digital Filter Design Toolkit installert, avinstallerer du Digital Filter Design Toolkit før du installerer FPGA-modulen og NI-RIO-programvaren. Gjør følgende for å installere Digital Filter Design Toolkit. Før installasjonen, kontroller at datamaskinen din oppfyller følgende forhold: En kompatibel versjon av LabVIEW er installert. Ingen tidligere versjoner av Digital Filter Design Toolkit, inkludert beta utgivelser, er installert. LabVIEW kjører ikke. Merk: Hvis du vil bruke Digital Filter Design Toolkit til å generere LabVIEW FPGA-kode fra et fastpunktsfilter, må du kontrollere at du har installert FPGA-modulen og NI-RIO-programvaren. Sett inn LabVIEW Digital Filter Design Toolkit-CDen. Kjør setup. exe-programmet. Følg instruksjonene som vises på skjermen. Digital Filter Design Toolkit 8.2.1 inneholder feilrettinger, men gir ingen nye funksjoner. Digital Filter Design Toolkit 8.2 inneholder følgende nye funksjoner: Digital Filter Design MathScript Funksjoner Bruk Digital Filter Design MathScript-funksjoner til å designe digitale filtre med LabVIEW MathScript i et tekstbasert miljø. Forbedrede verktøy med fastpunktsfilterverktøy Det digitale filterdesignverktøyet 8.2 forbedrer brukervennligheten til Fixed Point Tools VIs. Disse VI-ene kan hjelpe deg med å designe et fastpunktsfilter med bare noen få nødvendige innganger. Du kan også bruke disse VIs til å finjustere filterdesignet. Digital Filter Design Toolkit 8.2 kategoriserer filterkoeffisienter i to grupper: filterkoeffisienter a k og filterkoeffisienter b v. Disse to gruppene av filterkoeffisienter bruker forskjellige verdier. Denne endringen gjør det mulig å kvantifisere filterkoeffisientene effektivt ved å bruke et begrenset antall biter. Forbedret fast-punkt-filterkodenerasjon Den digitale filterdesignverktøyet 8.2 forbedrer fastpunktsfiltergenerering og støtter flere fastpunktsfiltermodeller, for eksempel de med 32-biters koeffisienter. Du kan spesifisere en fastpunktsfiltermodell for å utføre I32xI16- eller I32xI32-multiplikasjoner, i tillegg til I16xI16-multiplikasjoner. Du kan også generere en filterblokk som kan behandle flerkanalsignaler. Digital Filter Design Toolkit organiserer den genererte LabVIEW-koden i LabVIEW-prosjektfilen (.lvproj), slik at du kan integrere filteret i et annet prosjekt. For LabVIEW FPGA-kodegenerering forbedrer Digital Filter Design Toolkit 8.2 mekanismen for lagring av filterkoeffisienter og de interne tilstandene til digitale filtre. Den nye mekanismen lagrer de interne tilstandene til et filter i minneelementene til den genererte LabVIEW FPGA-koden. For FIR-filtre lagrer denne mekanismen FIR-filterkoeffisientene i oppslagstabeller. Ved behandling av flerkanalsignaler kan LabVIEW FPGA-koden dele filterkoeffisientene og filtreringsstyringslogiske ressurser blant de flere kanalene. Rational Resampling Multirate Filter Support Den Digital Filter Design Toolkit 8.2 gir støtte for design, analyse og implementering av rationelle resampling multirate filtre, i tillegg til dekimering og interpolering filtre. Rasjonal resampling er nyttig for grensesnitt med digitale signalbehandlingssystemer (DSP) som opererer med forskjellige hastigheter. For eksempel kan du bruke rasjonell resampling for å konvertere et 48 kHz signal fra et profesjonelt lydsystem til et 44,1 kHz signal for en lyd-CD. Multirate Filter Design Express VI Bruk Multirate FIR Design, Multistate Multirate Filter Design og Multirate CIC Design Express VI til å designe multirate FIR-filtre, flerlags multirate filtre og multirate cascaded integrator comb (CIC) filtre interaktivt. Fixed Point Multirate Filter Design Support Bruk multirate Fixed Point Tools VI til å kvantisere, modellere og simulere fast-punkt multirate filtre. Fixed Point Multirate Filter FPGA-kode Generation Support Bruk DFD FXP MRate Code Generator og DFD FXP NStage MRate Code Generator VI til å generere LabVIEW FPGA-kode fra fastpunkt multirate filtre. Du kan generere kode for både enkanals - og flerkanalsfiltreringsprogrammer. Du kan også generere kode fra både enkeltstrinn og flerlags multirate filtre. FPGA-kodegenereringsstøtte med fast punkt Gjennomfør DFD FXP Moving Average Code Generator VI for å generere LabVIEW FPGA-kode fra fastpunkts-flytende gjennomsnittlig (MA) - filtre. LabVIEW FPGA-koden generert fra et fast punkt MA filter hjelper deg med å utføre effektiv MA-filtrering på et inngangssignal ved å bruke få maskinvareressurser. Bruk verktøyene VIs til å tegne overføringsfunksjon, nullpole-forsterkning og forskjellekvasjoner i bildekontroller. Filtrer lagre og last inn fra tekstfilverktøy Bruk DFD-lagre til tekstfil og DFD-lagre MRate til tekstfil VI for å lagre filtre, inkludert multirate-filtre, som tekstfiler. Du kan oppnå filterstrukturer, filterordrer og filterkoeffisienter fra tekstfiler. Du kan da kopiere filterkoeffisientene fra tekstfiler og bruke koeffisientene i andre applikasjoner. Bruk DFD-lasten fra tekstfil VI til å laste inn et filter fra en tekstfil. Du kan ikke bruke denne VI til å laste et multiratefilter. Digital Filter Design Toolkit 8.2 inneholder mer enn 100 eksempler som viser hvordan du utfører bestemte oppgaver ved hjelp av Digital Filter Design VI og funksjoner. Disse eksemplene inkluderer både igangsatte opplæringsprogrammer og grundige casestudier. Versjon 8.2.1 (438APUX0) Digital Filter Design Toolkit 8.2.1 løser et problem hvor Firminphase MathScript-funksjonen ikke klarer å beregne riktig minimumsfasespektralfaktoren for et lineært fase, finitivt impulsrespons (FIR) filter. Versjon 8.2 Digital Filter Design Toolkit 7.5 hadde ingen begrensninger på antall trinn eller differensialforsinkelsen til et CIC-filter. Digital Filter Design Toolkit 8.2 begrenser antall stadier av et CIC-filter i området 1, 8 og begrenser differensialforsinkelsesverdien til 1 eller 2. Hvis du vil bruke et filter som du har designet med Digital Filter Design Toolkit 7.5, kan Digital Filter Design Toolkit 8.2 rapportere filteret som et ugyldig filterobjekt. Hvis du opplever denne situasjonen, må du lagre filteret som en binær fil i Digital Filter Design Toolkit 7.5, og bruk deretter Digital Filter Design Toolkit 8.2 for å laste filteret fra binærfilen. Digital Filter Design Toolkit 7.5 definerte samplingsfrekvensen til et multiratefilter som den maksimale samplingsfrekvensen i multiratefilteret. Digital Filter Design Toolkit 8.2 definerer samplingsfrekvensen for et multiratefilter som inngangssamplingsfrekvensen i multiratefilteret. Derfor, hvis du vil bruke et interpoleringsfilter som du har designet med Digital Filter Design Toolkit 7.5, må du først endre samplingsfrekvensen for interpolasjonsfilteret fra den maksimale samplingsfrekvensen til innsamlingsfrekvensen. Denne endringen påvirker ikke dekimering og ikke-rate-endringsfiltre. I Digital Filter Design Toolkit 8.2 er DFD FXP Modeling for CodeGen Express VI ikke på paletten Fast-Point Tools. Bruk DFD FXP Quantize Coef VI til å kvantifisere koeffisientene til et filter og DFD FXP Modeling VI for å opprette en fastpunktsfiltermodell i stedet. I Digital Filter Design Toolkit 7.5 var størrelsesresponsen og faseresponsutgangene til DFD-plottet MRate Freq Response VI klynger. I Digital Filter Design Toolkit 8.2 er disse utgangene arrayer av klynger. Versjon 8.2.1 I tillegg til de kjente problemene i Digital Filter Design Toolkit 8.2. Digital Filter Design Toolkit 8.2.1 inneholder følgende nye kjente problem: Fordi standardfonter på Windows Vista er forskjellige fra standardfonter på tidligere versjoner av Windows, kan det hende du merker kosmetiske problemer, for eksempel overlappende eller avkortede tekststrenger, i VIs og LabVIEW dialogbokser. For å rette opp dette problemet, endre temaet til operativsystemet til Windows Classic i dialogboksen Temainnstillinger, og start deretter LabVIEW på nytt. Velg Start0187Control Panel0187Appearance and Personalization og klikk Change Theme for å vise dialogboksen Temainnstillinger. Filteranalys VI kan ta lang tid å analysere et filter med høy rekkefølge. DFD Remez Design VI kan ta lang tid å designe et FIR-filter med høy rekkefølge. DFD Least Pth Norm Design VI kan ta lang tid å fullføre design som har iterative algoritmer. Digital Filter Design Toolkit 8.2 tillater ikke nullverdierte nuller i Pole-Zero Placement Express VI. Hvis du angir en nullverdiert null, tvinger Express VI den nullverdierte null til en nullverdiert null. Når du designer et fastpunktsfilter, må du konfigurere kvantisatorene. Hver quantizer inneholder en signert boolesk som spesifiserer om å behandle inngangsnummeret som et signert nummer. Digital Filter Design Toolkit 8.2 støtter kun signerte numre. Egenskapene til et filter kan endres dersom tallfeil oppstår under konvertering mellom filterkoeffisientene i forskjellige filterstrukturer. Når du konverterer strukturen til et filter, kan filteret med den nye strukturen være helt forskjellig fra det opprinnelige filteret. Hvis du støter på denne situasjonen, kan du prøve å bruke en annen struktur. Det kan hende du må kompilere det digitale filterdesigneksempel VI som viser hvordan du bruker generert LabVIEW FPGA-kode i LabVIEW-prosjekter. Se i LabVIEW Hjelp. tilgjengelig ved å velge Help0187Søk LabVIEW Hjelp fra rullegardinmenyen i LabVIEW, for informasjon om bruk av Digital Filter Design Toolkit. Du kan få tilgang til eksemplene for Digital Filter Design Toolkit ved å velge Help0187Find Eksempler for å vise NI Eksempel Finder og deretter navigere til Toolkits and Modules0187Digital Filter Design-mappen. Du kan også klikke koblingen Finn eksempler i delen Eksempler i Komme i gang-vinduet for å vise NI Eksempel Finder. Du kan endre et eksempel VI for å passe et program, eller du kan kopiere og lime inn fra et eller flere eksempler til en VI du lager. Du kan også finne eksemplene for Digital Filter Design Toolkit i katalogen LabviewexamplesDigital Filter Design. 0169 200682112007 National Instruments Corporation. Alle rettigheter reservert. I henhold til lovene om opphavsrett kan denne publikasjonen ikke kopieres eller overføres i noen form, elektronisk eller mekanisk, inkludert kopiering, opptak, lagring i et rettssystem, eller oversette, helt eller delvis, uten forhånds skriftlig samtykke fra National Instruments Selskap. Nasjonale instrumenter, NI, ni. og LabVIEW er varemerker for National Instruments Corporation. Se avsnittet om bruk av bruk på nilegal for mer informasjon om varemerker for National Instruments. Andre produkt - og firmanavn som er nevnt her, er varemerker eller handelsnavn til deres respektive selskaper. For patenter som dekker National Instruments-produktene, se til riktig sted: Help0187Patents i programvaren din, patents. txt filen på CDen eller nipatents.

No comments:

Post a Comment