Springen naar inhoud

[matlab/simulink] continu signaal spectrum vraagje


  • Log in om te kunnen reageren

#1

DePurpereWolf

    DePurpereWolf


  • >5k berichten
  • 9240 berichten
  • VIP

Geplaatst op 10 januari 2008 - 15:16

Ik probeer een spectrum analyze te doen over een massa veer systeem.
zie pdf voor het blokkenschema

Nou behoor ik omdat het integratie blokken gebruikt een continu signaal bron te gebruiken.

Nou wil ik echter een frequentie analyze doen. Omdat te doen moet ik een FFT uitvoeren over een bepaalde periode. Hoe hak ik het continue signaal op in discrete pakketjes?

Hoe zorg ik er dus voor dat ik een array krijg met tijd en amplitude gegevens die precies een x-tal periode omvatten?

Bijlage  MATLAB.pdf   32,61K   197 maal gedownload

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 10 januari 2008 - 19:16

Als ik het goed begrijp wil je een FFT spectrum van een tijdseries. Het Magnitude FFT block komt uit een speciale blockset die ik zelf niet tot mijn beschikking heb, maar wat ik uit de help files op http://www.mathworks.com begrijp is het block niet geschikt voor tijdseries. Het verwacht elke tijdstap een vector of matrix waarvan hij het FFT spectrum uitrekent, en dat is iets anders.

Wat je wel kunt doen is om je scope data naar de workspace te schrijven (zie eigenschappen van de scope of gebruik een "to workspace' block), waarna je vervolgens met matlab alsnog een FFT spectrum kunt maken. Daarbij zou ik wel adviseren om een fixed time step te nemen in plaats van de default variabele tijdstap.
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

#3

DePurpereWolf

    DePurpereWolf


  • >5k berichten
  • 9240 berichten
  • VIP

Geplaatst op 11 januari 2008 - 10:23

Okee, bedankt, dus geen 1,2,3 oplossing zonder naar Matlab terug te keren. Ik had gehoopt iets met een buffer te doen ofzo.

Ik zal nog eens verder proberen.

#4

DePurpereWolf

    DePurpereWolf


  • >5k berichten
  • 9240 berichten
  • VIP

Geplaatst op 21 februari 2008 - 13:19

De fft conversie was uiteindelijk een peuleschil, ik zal het snel op internet zetten.

De volgende vraag: Hoe kan een een randvoorwaarde instellen, die niet op t=0 is.

Dus, de randvoorwaarde dx/dt bij t=0 is 1 bijvoorbeeld, kan ik makkelijk instellen. Maar de randvoorwaarde dx/dt bij t=1 is 1 kan ik niet instellen, tenminste, ik weet niet hoe.

Heeft iemand hier een idee van?

#5

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 21 februari 2008 - 19:55

Je kunt de simulatie bij t=1 laten beginnen waarbij je een IC (initial condition) blok gebruikt om je waarde 1 ergens op te leggen. Simulink is niet de geschikte tool om een simulatie bij t=0 te laten beginnen en bij t=1 een randvoorwaarde neer te leggen. Misschien dat er ook een andere oplossing is om het probleem aan te pakken? Kun je beschrijven wat je probeert te doen?
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

#6

DePurpereWolf

    DePurpereWolf


  • >5k berichten
  • 9240 berichten
  • VIP

Geplaatst op 21 februari 2008 - 22:30

Het probleem is al lang en breed opgelosd in mathematica en mathcad, gewoon een 1-D microbalk die van ondere elektrostatisch aan word getrokken.
LaTeX
Een oplossing heb ik dus al, het ging er mij echter om dit 'visueler' makkelijker te representateren. Echter ben ik nu van mening dat dit niet met simulink zal gaan, tja, ergens toch jammer.

Mischien dat ik in de toekomst het microbalk probleem in matlab zal doen, om dan de tijdsverandering van de balk in simulink te onderzoeken.

Uit eindelijk zou ik graag de bovenstaande vergelijking die ik analytisch op kan oplossen wat uit breiden met een extra dimensie (y) en meer de invloed van demping op de frequentie respons.

Waar ik nu een oplossing voor zou willen hebben is de deflectie van een micro-balk onder stres. Deze stres varieert van de bovenkant naar de beneden kant. Ik zou graag willen weten wat er verandert als deze stres als deze stres niet lineair is, maar exponentieel

#7

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 22 februari 2008 - 20:44

Is eindige elementen methode dan geen beter manier om tot een oplossing te komen?
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

#8

DePurpereWolf

    DePurpereWolf


  • >5k berichten
  • 9240 berichten
  • VIP

Geplaatst op 22 februari 2008 - 22:48

In principe wel, maar dan heb ik het gevoel een beetje de connectie met de analytische formules kwijt te raken.

Voor simulaties doe ik eerst altijd een analytische analyze voordat ik mijn 3d-fem simulatie resultaten ga uitleggen.

Maar ik moet nog even over het idee slapen.

#9

JosCoxx

    JosCoxx


  • 0 - 25 berichten
  • 1 berichten
  • Gebruiker

Geplaatst op 19 mei 2010 - 21:00

De fft conversie was uiteindelijk een peuleschil, ik zal het snel op internet zetten.

De volgende vraag: Hoe kan een een randvoorwaarde instellen, die niet op t=0 is.

Dus, de randvoorwaarde dx/dt bij t=0 is 1 bijvoorbeeld, kan ik makkelijk instellen. Maar de randvoorwaarde dx/dt bij t=1 is 1 kan ik niet instellen, tenminste, ik weet niet hoe.

Heeft iemand hier een idee van?


Waar kan ik je oplossing op internet vinden? Ik wil namelijk ook het frequentiedomein van een signaal in Simulink bekomen. Het doel is om een pianonoot via microfoon op te nemen en dan de frequentie van die noot op een Scope weer te geven. Ik wil het eerst simpel houden en de frequentie van een SineWave op de scope krijgen..maar dat wilt niet lukken.

Groeten





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures