Acties:
  • 0 Henk 'm!

  • maxkoe
  • Registratie: November 2001
  • Laatst online: 02-10 22:56
Beste tweakers,

Ik zit met een vraagstuk waar ik niet zo maar een oplossing kan vinden op het internet.

Ik heb een analoog signaal waar ik wat bewerkingen op wil doen. Dit analoge signaal heeft een heel breed spectrum tot zeg maar 1MHz. Ook bevat het signaal erg veel ruis rond de 100 kHz. De eerste stap om het signaal bruikbaar te maken heb ik twee buttworth filter toegepast. Een highpass filter op 200 kHz en een low pass filter op 600 kHz.
Eerst heb ik dit gesimuleert op de computer en daarna met opamps gemaakt, om te kijken of het in de praktijk ook echt werkt(en ja het het werk).

De volgende stap is dat ik nog wat meer bewerkingen wil gaan doen. Naarmate de bewerkingen complexer worden kan ik dit niet meer met opamps maken. Ik moet dus het signaal realtime gaan bewerken in een soort computer. Hier heb ik helaas geen kaas van gegeten.
Ik weet wat een DSP is maar waar ik deze moet kopen en wat die allemaal kan weet ik niet. Kan iemand van jullie mij een beetje de juiste kant uitsturen.

Wel heb ik de volgende eisen.
  • Bandbreedte moet ongeveer 600 kHz zijn
  • Delay tussen input en output mag niet meer dan 1 mili seconden zijn

Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Nu online
Je zou kunnen zoeken naar DSP Evaluation boards.

2 MHz is best vlug, afhankelijk van de bewerkingen die je wilt doen weet ik niet of je dat met een microcontroller evaluatie bord kan doen. (zoals STM32F7 waar één FIR filter ~100us duurt)
Waarschijnlijk moet je een DSP (TI, AD) hebben, gelukkig kun je daar ook evaluation boards voor krijgen. Helaas is dat best specialistisch spul en zul je daar nog een compiler bij moeten hebben. Je moet de code immers zelf schrijven. Maar dan is het dan niet meer goedkoop.

[ Voor 14% gewijzigd door jeroen3 op 02-03-2018 14:38 ]


Acties:
  • 0 Henk 'm!

  • Flake
  • Registratie: Februari 2001
  • Laatst online: 01-11-2024
maxkoe schreef op vrijdag 2 maart 2018 @ 13:37:
De volgende stap is dat ik nog wat meer bewerkingen wil gaan doen. Naarmate de bewerkingen complexer worden kan ik dit niet meer met opamps maken.
Waarom niet? Leg ons eens uit wat je aan het doen bent.

[ Voor 7% gewijzigd door Flake op 02-03-2018 14:44 ]


Acties:
  • 0 Henk 'm!

  • jctjepkema
  • Registratie: Mei 2011
  • Laatst online: 15:47
Ik zou al neigen naar een FPGA, iets uit de cyclone series moet dat zeker aankunnen, je kan vast wel op internet een tweedehands cyclone development board vinden.

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Het ligt er aan hoeveel rekenkracht je nodig hebt. FIR filters hebben snel de neiging uit de hand te lopen, en dat gaat een MCU niet trekken meer (en dan denk ik aan ARM M4Fs als het floating point is, als je het erg kan optimaliseren en enkel wat shift acties nodig hebt en integer optellingen doet een M0 op gelijke kloksnelheid het even goed). IIR filters zijn veel compacter en efficienter, maar hebben ook weer hun nadelen.

Wat voor een output heb je nodig? Ik begrijp hier uit analoog? Wat is de toepassing dan? Gezien ik weinig use cases ken waar je een analoge input en output hebt.

Maar als je MCU het niet meer trekt, komt je inderdaad uit op DSPs of FPGAs.

Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Nu online
Er is trouwens ook nog de Cypress PSOC welke tussen de microcontroller en de FPGA zit.
Configurable Analog and Digital Blocks
The combination of configurable analog and digital circuitry is the basis of the PSoC platform. You configure these blocks using pre-built library functions or by creating your own. By combining several digital blocks, you can create 16-, 24-, or even 32-bit wide logic resources. The analog blocks are composed of an assortment of switch capacitor, op-amp, comparator, ADC, DAC, and digital filter blocks, allowing complex analog signal flows.

[ Voor 62% gewijzigd door jeroen3 op 02-03-2018 15:23 ]


Acties:
  • 0 Henk 'm!

  • maxkoe
  • Registratie: November 2001
  • Laatst online: 02-10 22:56
Flake schreef op vrijdag 2 maart 2018 @ 14:43:
[...]


Waarom niet? Leg ons eens uit wat je aan het doen bent.
Kan wel maar het word er niet simpeler op.
Sissors schreef op vrijdag 2 maart 2018 @ 15:17:

Wat voor een output heb je nodig? Ik begrijp hier uit analoog? Wat is de toepassing dan? Gezien ik weinig use cases ken waar je een analoge input en output hebt.

Maar als je MCU het niet meer trekt, komt je inderdaad uit op DSPs of FPGAs.
Ik helaas niet heel erg in detail treden. Dit omdat het bedrijfgeheim is.
Ik heb een akoestische sensor die akoestische emmissie meet. Hoe die dat doet is een beetje vaag. In dit signaal zitten zeer veel ruis wat ik eruit moet filteren om voldfoende signaal/ruis verhouding te creeeren. De meeste heb ik er al uit gekregen door een bandpass filter toe te passen.

Op basis van de amplitude van het signaal word een regelus aangestuurd.

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Is het een signaal van een enkele toon of meerdere? Want als het een enkele is, is het dan niet handiger (als het lukt qua rekenkracht enzo) om een FFT erop te draaien? Dan heb je speciale window functies voor amplitude schatting, en gezien je 1ms delay mag hebben kan je nog wel wat samples pakken.

Acties:
  • 0 Henk 'm!

  • maxkoe
  • Registratie: November 2001
  • Laatst online: 02-10 22:56
Sissors schreef op vrijdag 2 maart 2018 @ 16:40:
Is het een signaal van een enkele toon of meerdere? Want als het een enkele is, is het dan niet handiger (als het lukt qua rekenkracht enzo) om een FFT erop te draaien? Dan heb je speciale window functies voor amplitude schatting, en gezien je 1ms delay mag hebben kan je nog wel wat samples pakken.
Nee het is een breedspectrum met een signaal van 0 Hz tot 600 kHz (of meer)

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Dan vraag ik me weer af wat de definitie is van amplitude :P. Ik vermoed een soort van piek detectie? Want dat is triviaal natuurlijk om digitaal te implementeren, al heb je dan nog wel filtering nodig.

Acties:
  • 0 Henk 'm!

  • Cassettebandje
  • Registratie: Juli 2002
  • Laatst online: 15:02

Cassettebandje

SA-C90 TDK

Wellicht handig om even met een rekenprogramma aan de slag te gaan (Matlab/Octave) met een set testsamples om te kijken wat er nodig is en je algoritme vast te stellen.

@jeroen3 een psoc zou mooi zijn als je enkele eenvoudige dingen zou willen doen, maar ik verwacht dat die wat te beperkt is in deze situatie.

Acties:
  • 0 Henk 'm!

  • maxkoe
  • Registratie: November 2001
  • Laatst online: 02-10 22:56
Sissors schreef op vrijdag 2 maart 2018 @ 21:45:
Dan vraag ik me weer af wat de definitie is van amplitude :P. Ik vermoed een soort van piek detectie? Want dat is triviaal natuurlijk om digitaal te implementeren, al heb je dan nog wel filtering nodig.
Nee geen piek detectie. Ik heb een spanning die aangeeft wat de akoestische intensiteit is. Dit komt overeen met de amplitude. 1 V lage amplitude 10 V hoge amplitude. Daarnaast heeft dit signaal ook meerdere frequenties.
Cassettebandje schreef op zaterdag 3 maart 2018 @ 10:37:
Wellicht handig om even met een rekenprogramma aan de slag te gaan (Matlab/Octave) met een set testsamples om te kijken wat er nodig is en je algoritme vast te stellen.

@jeroen3 een psoc zou mooi zijn als je enkele eenvoudige dingen zou willen doen, maar ik verwacht dat die wat te beperkt is in deze situatie.
Heb ik gedaan in python. Conclusie is dat er veel te winnen is met simpele bandpass filtering en meer te winnen met notch filters, etc.
Pagina: 1