Bert F
Artikelen: 0
Berichten: 2.589
Lid geworden op: vr 15 aug 2003, 20:37

DSP drievoudige frequentie genereren.

Graag had ik een systeem (in opengnu ) gemaakt waardoor ik in staat ben een drievoudige frequentie te generen uitgaande van een ingang frequentie.

ik heb hiervoor volgende bedacht. in eerste instantie laat ik het signaal dat binnen komt vermenigvuldigen met zijn eigen we weten dan dat we het dubbele en de dc waarden genereren.

de dc filteren we eruit (laat ons ervan uitgaan dat dit gemakkelijk is) dan vermenigvuldig ik het nieuwe signaal terug met het ingangssignaal en bekom zo drie maal de ingangsfrequentie.

nu dien ik het ingangssignaal er nog uit te krijgen en bekom zo drie maal de ingangsfrequentie

echter dit lukt me niet.

ik zou terug het ingangs signaal van mijn uiteindelijk signaal willen aftrekken echter wat ik ook doe het blijft zitten in mijn uitgangsspectrum.

Iemand enige raad?

Groeten.
Gebruikersavatar
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

Re: DSP drievoudige frequentie genereren.

Is het evt mogelijk van het signaal gewoon te hersamplen en terug af te spelen aan dezelfde snelheid? In dat geval kan je gewoon een 3-voudige downsampling doen.
Bert F
Artikelen: 0
Berichten: 2.589
Lid geworden op: vr 15 aug 2003, 20:37

Re: DSP drievoudige frequentie genereren.

klopt dat kan ook maar de bedoeling is dat ik het eventueel later analoog uit zou werken.

maw het feit dat ik met gnu radio werk is enkel maar te verificatie.

hier een prentje van wat ik bedoel: (iets gelijkaardig)
freq_tripler
freq_tripler 520 keer bekeken
bron : http://infoscience.epfl.ch/record/148776/files/getPDF.pdf

hoe maak ik de nodige faseverschuivingen?

Groeten.
Gebruikersavatar
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

Re: DSP drievoudige frequentie genereren.

Ah ok. Mijn praktische kennis van analoge schakelingen is eerder beperkt, maar wiskundig kan je misschien beter met deze identiteit werken:
\(\sin(3t) = -4\sin^3(t) + 3\sin(t)\)
(bron)

In MATLAB:

Code: Selecteer alles


f = 20;

fs = 2000;

t = 0:999;

x = sin(2*pi*f*t/fs);

plot(t,x);

x3 = -4*x.^3 + 3*x;

hold on; plot(t,x3,'r');

Dat lijkt mij toch wat je wil bereiken en voor zover ik zie heb je dan geen miserie met een DC component of fase-shift.
Bert F
Artikelen: 0
Berichten: 2.589
Lid geworden op: vr 15 aug 2003, 20:37

Re: DSP drievoudige frequentie genereren.

ik moet dus sin^3(x*t) uitvoeren dus sin *sin *sin kan ik dit in één keer? (eigenlijk wel digitaal)

indien niet dan moet ik het achter een doen en dan moet ik in woorden de sin nemen vermenigvuldigen met zijn eigen en dan terug met het oorspronkelijke signaal. dus toch een fase shift nodig om dat origineel signaal te krijgen?

of ik moet natuurlijk X^3 kunnen implementeren later in de analoge wereld. Dit kan waarschijnlijk omdat er ook EN poorten bestaan met drie ingangen.

Bedankt voor de hulp.
Gebruikersavatar
Xenion
Artikelen: 0
Berichten: 2.609
Lid geworden op: za 21 jun 2008, 10:41

Re: DSP drievoudige frequentie genereren.

Ik zou ik het ingangssignaal in 4 takken splitsen. De eerste 3 mix je dan samen om die derde macht te genereren en daar trek je dan uiteindelijk de 4e tak van af (met de nodige schalingen uiteraard). Maar er zijn waarschijnlijk nog praktische beperkingen waar ik je niet mee kan helpen.

Uiteindelijk kan je ook dat schema gebruiken dat je zelf gevonden had.

Ik denk niet dat je probleem nog van wiskundige aard is. Ik zal dit topic verplaatsen naar Praktische wetenschappen.

Terug naar “Praktische en overige technische wetenschappen”