Gebruikersavatar
DePurpereWolf
Artikelen: 0
Berichten: 9.240
Lid geworden op: wo 12 mar 2003, 19:44

[matlab/simulink] continu signaal spectrum vraagje

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?
MATLAB
(32.61 KiB) 406 keer gedownload
Gebruikersavatar
Bart
Artikelen: 0
Berichten: 7.224
Lid geworden op: wo 06 okt 2004, 22:42

Re: [matlab/simulink] continu signaal spectrum vraagje

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
Gebruikersavatar
DePurpereWolf
Artikelen: 0
Berichten: 9.240
Lid geworden op: wo 12 mar 2003, 19:44

Re: [matlab/simulink] continu signaal spectrum vraagje

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.
Gebruikersavatar
DePurpereWolf
Artikelen: 0
Berichten: 9.240
Lid geworden op: wo 12 mar 2003, 19:44

Re: [matlab/simulink] continu signaal spectrum vraagje

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?
Gebruikersavatar
Bart
Artikelen: 0
Berichten: 7.224
Lid geworden op: wo 06 okt 2004, 22:42

Re: [matlab/simulink] continu signaal spectrum vraagje

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
Gebruikersavatar
DePurpereWolf
Artikelen: 0
Berichten: 9.240
Lid geworden op: wo 12 mar 2003, 19:44

Re: [matlab/simulink] continu signaal spectrum vraagje

Het probleem is al lang en breed opgelosd in mathematica en mathcad, gewoon een 1-D microbalk die van ondere elektrostatisch aan word getrokken.
\(-F(x) = EI{L^4}z'''' -Tz''\)
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
Gebruikersavatar
Bart
Artikelen: 0
Berichten: 7.224
Lid geworden op: wo 06 okt 2004, 22:42

Re: [matlab/simulink] continu signaal spectrum vraagje

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
Gebruikersavatar
DePurpereWolf
Artikelen: 0
Berichten: 9.240
Lid geworden op: wo 12 mar 2003, 19:44

Re: [matlab/simulink] continu signaal spectrum vraagje

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.
JosCoxx
Artikelen: 0
Berichten: 1
Lid geworden op: wo 19 mei 2010, 21:44

Re: [matlab/simulink] continu signaal spectrum vraagje

DePurpereWolf schreef: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

Terug naar “Informatica en programmeren”