Lågfrekvensgenerator. Ljudkort som generator


Detta program implementerar en lågfrekvent kombinerad funktionsgenerator. Generatorns utsignaler går till två kanaler i stereoutgången på datorns ljudkort.
Generatorn genererar signaler av följande typ:
- sinusformad,
- rektangulär (slingrande),
- triangulär symmetrisk,
- sågtand ökar,
- sågtand faller.
Enheten kan fungera i olika lägen.
I kontinuerligt oberoende läge ställs formen, frekvensen och amplituden för signalerna på de två kanalerna in separat.
I konstant beroende läge är formen, frekvensen och amplituden för signalerna på båda kanalerna desamma; signalen från den andra (höger) kanalen kan godtyckligt fasförskjutas i förhållande till signalen från den första (vänster) kanalen.
I frekvenshöjningsläget ändras signalen på den första (vänster) kanalen i frekvens inom de specificerade gränserna med den specificerade hastigheten. Den andra kanalens signal stängs av.
I läget för att öka amplituden ändras signalen på den första (vänster) kanalen i amplitud inom de specificerade gränserna med den specificerade hastigheten. Den andra kanalens signal stängs av.
Kontrollerna på skärmen har popup-kommentarer så att du enkelt kan bemästra generatorkontrollerna.
Signalfrekvensen kan ställas in på två sätt. Installation med direkt inmatning görs i viewporten. För att redigera, tryck på knappen till vänster om fönstret, ange ett nytt värde och tryck sedan Enter-tangent... Den andra metoden är en stegvis förändring i frekvens med ett givet steg. För detta har vi switchar "ovan-under". Två ändrar frekvensen, den tredje byter steg för denna förändring. Frekvensinställningsupplösning 1 Hz.
Amplituden ställs in genom en stegändring med ett givet steg. För detta har vi switchar "ovan-under". Två ändrar frekvensen, den tredje byter steg för denna förändring. Diskretiteten för amplitudinställningen är 1 % av max.
Fasskiftet mellan signaler i beroende läge ställs in genom direkt inmatning av värden i grader. För att redigera, klicka på knappen till vänster om fönstret, ange ett nytt värde och tryck sedan på Enter. Skiftinställningens diskrethet är 1 grad.
Med tanke på stor storlek ljudkort urklipp kontroll av enheten är något långsammare. Reaktionen på byte är cirka 1 sekund.
När du arbetar med generatorn, kör inte andra program som skapar ljudeffekter... Du bör inte heller göra långvariga manipulationer med musen på skärmen (flytta formulär etc.), detta kan orsaka fel på enheten. Om utmatningen pausas, använd omstartsknappen på skärmen ().
Programmet kommer ihåg inställningarna och inställningarna och återställer dem nästa gång du slår på det.

SoundCard Oszilloscope - programvara som förvandlar en dator till ett tvåkanals oscilloskop, tvåkanals lågfrekvensgenerator och spektrumanalysator

God dag kära radioamatörer!
Varje radioamatör vet att för att skapa mer eller mindre komplexa radioamatörenheter är det nödvändigt att inte bara ha en multimeter till ditt förfogande. Idag i våra butiker kan du köpa nästan vilken enhet som helst, men - det finns ett "men" - kostnaden för en anständig kvalitet på vilken enhet som helst är inte mindre än flera tiotusentals av våra rubel, och det är ingen hemlighet att för de flesta ryssar detta är mycket pengar, och därför är dessa enheter inte tillgängliga alls, eller så köper en radioamatör enheter som har använts länge.
Idag på sajten , vi kommer att försöka utrusta radioamatörens laboratorium med gratis virtuella instrument -digitalt tvåkanals oscilloskop, tvåkanalsgenerator ljudfrekvens , spektrumanalysator... Den enda nackdelen med dessa enheter är att de alla bara fungerar i frekvensområdet från 1 Hz till 20 000 Hz. Sajten har redan gett en beskrivning av ett liknande radioamatörprogram:“ “ - ett program som konverterar hemdator till oscilloskopet.
Idag vill jag uppmärksamma er på ett annat program - "Oszilloskop för ljudkort". Jag lockades av det här programmet för dess goda egenskaper, genomtänkta design, lätthet att studera och arbeta i det. Det här programmet på engelska, ingen rysk översättning. Men jag anser inte att detta är en nackdel. För det första är det väldigt lätt att ta reda på hur man arbetar i programmet, du kommer att se det själv, och för det andra - en dag kommer du att förvärva bra instrument(och de har alla beteckningar på engelska, fastän de själva är kineser) och vänjer sig direkt och lätt vid dem.

Programmet har utvecklats av C. Zeitnitz och är gratis, men endast för privat bruk. Licensen för programmet kostar cirka 1 500 rubel, och det finns också den så kallade " privat licens”- kostar cirka 400 rubel, men detta är snarare en donation till författaren för ytterligare förbättring av programmet. Vi kommer naturligtvis att använda gratis version programmet, som bara skiljer sig genom att när det startar, dyker det upp ett fönster varje gång med ett erbjudande om att köpa en licens.

Ladda ner programmet ( senaste versionen från och med december 2012):

(28,1 MiB, 41 300 träffar)

Låt oss först förstå "koncepten":
Oscilloskop- en anordning utformad för forskning, observation, mätning av amplitud och tidsintervall.
Oscilloskop är klassificerade:
enligt syftet och metoden för att visa information:
- oscilloskop med ett periodiskt svep för att observera signaler på skärmen (i väst kallas de oscilloskop)
- kontinuerliga svep oscilloskop för att registrera signalkurvan på ett fotografiskt band (i väst kallas de oscillograf)
genom metoden att bearbeta insignalen:
- analog
- digitalt

Programmet fungerar i en miljö som inte är lägre än W2000 och inkluderar:
- ett tvåkanals oscilloskop med en bandbredd (beroende på ljudkortet) som inte är mindre än 20 till 20 000 Hz;
- tvåkanalig signalgenerator (med samma genererade frekvens);
- spektrumanalysator
- och det är också möjligt att spela in en ljudsignal för dess efterföljande studie

Vart och ett av dessa program har ytterligare egenskaper som vi kommer att överväga under deras studie.

Vi börjar med en signalgenerator:

Signalgeneratorn är som sagt tvåkanalig - kanal 1 och kanal 2.
Låt oss överväga syftet med dess huvudströmbrytare och fönster:
1 knappar för att slå på generatorer;
2 inställningsfönster för utsignalvågform:
sinus- sinusformad
triangel- triangulär
fyrkant- rektangulär
sågtand- sågtand
vitt brus- Vitt brus
3 utsignals amplitudregulatorer (max - 1 volt);
4 frekvensjusteringsrattar ( önskad frekvens kan ställas in manuellt i fönstren under kontrollerna). Även om tillsynsmyndigheterna maximal frekvens- 10 kHz, men i de nedre fönstren kan du registrera vilken tillåten frekvens som helst (beroende på ljudkortet);
5 fönster för att ställa in frekvensen manuellt;
6 slå på läget "Svep - generator". I detta läge ändras generatorns utgångsfrekvens periodiskt från minimivärdet som ställts in i fönstren "5" till maximalt värde ställ in i "Fend"-rutorna för den tid som ställts in i "Time"-rutorna. Detta läge kan aktiveras antingen för valfri kanal eller för två kanaler samtidigt;
7 fönster för inställning av den slutliga frekvensen och tiden för svepläget;
8 mjukvaruanslutning generatorkanalutgång till den första eller andra ingångskanal oscilloskop;
9 - ställa in fasskillnaden mellan signalerna från generatorns första och andra kanal.
10 - Inställning av signalens arbetscykel (gäller endast för en fyrkantsvåg).

Låt oss nu ta en titt på själva oscilloskopet:


1 Amplitud - justering av känsligheten för den vertikala avböjningskanalen
2 Synkronisera- tillåter (genom att markera eller avmarkera) att göra separata eller samtidiga justeringar av två kanaler vad gäller signalamplitud
3, 4 låter dig sprida signaler längs skärmens höjd för individuell observation
5 ställa in sveptiden (från 1 millisekund till 10 sekunder, med 1000 millisekunder på 1 sekund)
6 starta/stoppa oscilloskopoperation. När den stoppas sparas det aktuella tillståndet för larmen på skärmen och knappen Spara visas ( 16 ) som låter dig spara det aktuella tillståndet på en dator i form av 3 filer (textdata för signalen under utredning, svartvit bild och färgbild bilder från oscilloskopets skärm vid stoppögonblicket)
7 Utlösaremjukvaruenhet, vilket fördröjer starten av svepet tills vissa villkor är uppfyllda och tjänar till att erhålla en stabil bild på oscilloskopskärmen. Det finns 4 lägen:
på av... När avtryckaren är avstängd kommer bilden på skärmen att se "rinnande" ut eller till och med "suddig".
automatiskt läge ... Programmet själv väljer läge (normal eller enkel).
normalt läge... I detta läge utförs ett kontinuerligt svep av signalen som undersöks.
singelläge... I detta läge utförs ett engångssvep av signalen (med ett tidsintervall som ställs in med tidsratten).
8 aktivt kanalval
9 Kant- signal triggertyp:
- stigande- på framsidan av signalen under utredning
faller- genom att den undersökta signalen förfaller
10 Automatisk inställningautomatisk installation sveptid, känslighet för den vertikala avböjningskanalen Amplitude, liksom bilden drivs till mitten av skärmen.
11 -Kanalläge- bestämmer hur signalerna kommer att visas på oscilloskopskärmen:
enda- separat utmatning av två signaler till skärmen
- CH1 + CH2- utmatning av summan av två signaler
CH1 - CH2- utmatning av skillnaden mellan två signaler
CH1 * CH2- utmatning av produkten av två signaler
12 och 13val av visning av kanaler på skärmen (eller någon av de två, eller två samtidigt, värdet visas bredvid Amplitud)
14 vågformsutgång från kanal 1
15 vågformsutgång från kanal 2
16 redan godkänd - spela in en signal till en dator i oscilloskopets stoppläge
17 tidsskala (vi har en regulator Tid står på 10 millisekunder, så skalan visas från 0 till 10 millisekunder)
18 Status- visar det aktuella tillståndet för utlösaren och låter dig även visa följande data på skärmen:
- HZ och Volt- visar den aktuella frekvensen för spänningen för signalen som undersöks
markören- aktivera vertikala och horisontella markörer för att mäta parametrarna för den undersökta signalen
logga till Fille- per sekund registrering av parametrarna för den undersökta signalen.

Göra mätningar på ett oscilloskop

Låt oss först ställa in signalgeneratorn:

1. Slå på kanal 1 och kanal 2 (gröna trianglar lyser)
2. Ställ in utsignalerna - sinusformade och rektangulära
3. Ställ in amplituden för utsignalerna lika med 0,5 (generatorn genererar signaler med en maximal amplitud på 1 volt, och 0,5 betyder att amplituden på signalerna är lika med 0,5 volt)
4. Ställ in frekvensen på 50 Hertz
5. Gå till oscilloskopläget

Signalamplitudmätning:


1. Knappen under inskriptionen Mäta välj läge HZ och Volt, sätt en bock bredvid etiketterna Frekvens och spänning... Samtidigt visas de aktuella frekvenserna för var och en av de två signalerna (nästan 50 hertz) ovanifrån, amplituden full signal Vp-p och effektiv stress signaler Veff.
2. Knappen under inskriptionen Mäta välj läge Markörer och sätta en bock bredvid inskriptionen Spänning... Samtidigt har vi två horisontella linjer, och under inskriptionerna som visar amplituden för de positiva och negativa signalkomponenterna ( A), såväl som den totala signalamplitudsvängningen ( dA).
3. Vi exponerar de horisontella linjerna i den position vi behöver i förhållande till signalen, på skärmen kommer vi att ta emot data om deras amplitud:


Mätning av tidsintervall:


Vi gör samma operationer som för att mäta signalamplituden, förutom i läget Markörer sätta en bock vid inskriptionen Tid... Som ett resultat, istället för horisontellt, kommer vi att få två vertikala linjer, och under tidsintervallet mellan två vertikala linjer och den aktuella frekvensen för signalen i detta tidsintervall:


Bestämning av signalfrekvens och amplitud

I vårt fall finns det inget behov av att speciellt beräkna signalens frekvens och amplitud - allt visas på oscilloskopskärmen. Men om du måste använda ett analogt oscilloskop för första gången i ditt liv och du inte vet hur du ska bestämma signalens frekvens och amplitud, utbildningssyftenöverväga denna fråga också.

Vi lämnar generatorinställningarna som de var, med undantag för att signalamplituden är inställd på 1,0 och oscilloskopinställningarna är inställda som på bilden:


Vi ställer in signalamplitudregulatorn till 100 millivolt, sveptidsregulatorn till 50 millisekunder och vi får bilden på skärmen som ovanifrån.

Principen för att bestämma signalamplituden:
Regulator Amplitud vi står i position 100 millivolt, vilket innebär att den vertikala uppdelningen av gallret på oscilloskopskärmen är 100 millivolt. Vi räknar antalet divisioner från botten av signalen till den övre (vi får 10 divisioner) och multiplicerar med priset för en division - 10 * 100 = 1000 millivolt = 1 volt, vilket innebär att amplituden för signalen från toppen till botten är 1 volt. På samma sätt kan du mäta signalamplituden vid valfri del av oscillogrammet.

Bestämning av signaltiming:
Regulator Tid vi står i position 50 millisekunder... Antalet horisontella divisioner av oscilloskopskalan är 10 (in I detta fall vi har 10 divisioner på skärmen), dividera 50 med 10 och få 5, vilket betyder att priset för en division blir lika med 5 millisekunder. Vi väljer önskad del av signaloscillogrammet och beräknar hur många divisioner det passar (i vårt fall - 4 divisioner). Multiplicera priset för 1 division med antalet divisioner 5*4=20 och fastställa att perioden för signalen i det undersökta området är 20 millisekunder.

Bestämning av signalfrekvensen.
Frekvensen för signalen som undersöks bestäms av den vanliga formeln. Vi vet att en period av vår signal är lika med 20 millisekunder, det återstår att ta reda på hur många perioder det blir på en sekund - 1 sekund / 20 millisekunder = 1000/20 = 50 Hertz.

Spektrumanalysator

Spektrumanalysator- en anordning för att observera och mäta den relativa fördelningen av energin från elektriska (elektromagnetiska) svängningar i frekvensbandet.
Lågfrekvensspektrumanalysator(som i vårt fall) är utformad för att fungera i ljudfrekvensområdet och används till exempel för att bestämma frekvenssvaret olika enheter, när man studerar brusets egenskaper, ställer in olika radioutrustning. Specifikt kan vi bestämma frekvenssvaret för den sammansatta ljudförstärkaren, ställa in olika filter etc.
Det är inget svårt att arbeta med spektrumanalysatorn, nedan kommer jag att ge syftet med dess huvudinställningar, och du själv, redan empiriskt, kommer enkelt att ta reda på hur du arbetar med den.

Så här ser spektrumanalysatorn ut i vårt program:


Vad finns här - vad:

1. Vy över analysatorns vertikala skala
2. Välja de visade kanalerna från generatorn ofta och typ av display
3. Arbetsdel av analysatorn
4. Inspelningsknapp nuvarande tillstånd oscillogram när den stoppas
5. Läge för att öka arbetsytan
6. Växla den horisontella skalan (frekvensskalan) från linjär till logaritmisk form
7. Aktuell signalfrekvens när generatorn är i svepläge
8. Aktuell frekvens vid markörposition
9. Indikator för signalövertonsförvrängning
10. Ställa in filtret för signaler efter frekvens

Tittar på Lissajous siffror

Lissajous siffror- slutna banor ritade av en punkt som gör två harmoniska vibrationer i två inbördes vinkelräta riktningar. Typen av siffror beror på förhållandet mellan perioder (frekvenser), faser och amplituder för båda svängningarna.

Om du ansöker om ingångarna " X" och " Y»Oscilloskopsignaler av nära frekvenser, sedan på skärmen kan du se figurerna av Lissajous. Denna metod används ofta för att jämföra frekvenserna för två signalkällor och för att matcha en källa med frekvensen för den andra. När frekvenserna är nära men inte lika med varandra roterar siffran på skärmen, och rotationscykelns period är den reciproka av frekvensskillnaden, till exempel är rotationsperioden 2 s - skillnaden i signalfrekvenser är 0,5 Hz. Med lika frekvenser fryser figuren orörlig, i vilken fas som helst, men i praktiken, på grund av kortvariga signalinstabiliteter, skakar figuren på oscilloskopskärmen vanligtvis något. Det är möjligt att använda för jämförelse inte bara samma frekvenser, utan också de i ett multipelförhållande, till exempel om en referenskälla bara kan producera en frekvens på 5 MHz och en avstämbar källa - 2,5 MHz.


Jag är inte säker på att den här funktionen i programmet kommer att vara användbar för dig, men om du plötsligt behöver den, så tror jag att du enkelt kan lista ut den här funktionen på egen hand.

Ljudinspelningsfunktion

Jag har redan sagt att programmet låter dig skriva vilken som helst ljudsignal på en dator för vidare studier. Signalinspelningsfunktionen är inte svår och du kan enkelt ta reda på hur du gör det:


Programvara för dator-oscilloskop

DI HALT:
Metoden är pervers, om jag ska vara ärlig skulle jag snabbt montera en signalgenerator på R2R önskad form... Men det händer att ibland inte den ena är där, sedan den andra, men det är nästan alltid överväldigad datorskräp.

Varning:
Jag vill genast varna dig för att barbariska manipulationer med en dator omedelbart täcker garantin för järn med ett pälsorgan och med en liten krökningsradie på armarna - hela datorn eller med viktiga delar. Om du tvivlar på fastheten i din hand och dina förmågor, är det bättre att samla Frankenstein från papperskorgen enbart för experiment.

Jag behövde felsöka en enhet per AVR mikrokontroller... Mer exakt, ta emot data från ADC. När signalen för dessa data ska vara ultralåg frekvens, cirka 1 Hz. Märkligt nog att ta emot en signal med denna frekvens regelbundna medel ganska svårt. Ljudkort vid utgången har den filter som inte tillåter en så lågfrekvent signal att slå igenom. Därför togs ett beslut om att uppgradera ljudkortet.

För att inte riskera det beslutade man att implementera detta på ett externt ljudkort. Men den här upplevelsen sant för inbyggda ljudkort, men det är värt Jedi.

Ett ljudkort köptes med hammare Sound Blaster Live... Efter en snabb titt stod det klart att det är omöjligt att förstå kretsloppet för ett 4-lagers kort utan bra gräs. Men det är ganska uppenbart att alla helger och helger analoga signaler först går de till op-ampen och sedan till DAC/ADC. Jo OU googlade snabbt. Sedan uppmärksammade jag mikrokretsen, som ungefär tar emot alla signaler. Hon var näst störst. Jag körde in märkningen på Google, och se och häpna! Hittade ett datablad!

Chip pinout.

Vi är intresserade av linje ut DAC (understruken i rött). Jag valde bara rätt kanal. Om någon bestämmer sig för att göra ett oscilloskop, kommer det att vara nödvändigt att löda till line-in(blå rektangel). Naturligtvis genom lämpligt frikopplingsschema (som googlas på Internet).
För att inte bränna DAC:n med mina helvetesexperiment bestämde jag mig för att skydda den lite. Och jag rekommenderar in obligatorisk göra ett sådant upplägg.

Lödt motstånd

För att mata ut signalen från datorn använde jag VGA-kontakt, som av något mirakel låg på mitt skrivbord. Varför denna ledning är bra: den har 5 separat skärmade ledningar. Jag startade precis en tråd på 1 stift (RÖD signal). Eftersom skärmarna för alla signaler är anslutna till marken och så, brydde jag mig inte om utsignalen från marken. Naturligtvis, idealiskt måste du ta fram den analoga jordningen på ljudkortet (där det är, det letar efter samma mikrokrets i databladet), men jag var pank.

Installerad zvukovuha, och uttaget på vår generator

Som generator använder jag ett primitivt "Tone Generator"-program som kan laddas ner härifrån. Det låter dig generera en sinus, såg, fyrkantsvåg, vitt brus och någon konstig signal.

Vilket är tillräckligt för mina syften.
Efter att det installerats i datorn bestämde jag mig för att se till att generationen pågick med ett oscilloskop, och jag lödde fast det korrekt.

Ren sinus av vår generator.

Jo, offset utan kondensatorn, min DAC är ca 2 volt. Låt oss kolla hur min mikrokontrollers ADC äter.

En generator och ett program som läser ADC-värdena för mikrokontrollern.

Var inte uppmärksam på att sinusen som tas av styrenheten är så trasig - det finns en mycket liten samplingsfrekvens.
För att flytta nollpunkten, samt minska signalamplituden med hälften, måste du sätta ett 10 k motstånd till jord. Tillsammans med motståndet bildas alltså en spänningsdelare på ljudkortet.

För sim tar jag ledigt, lyckade experiment.

Postnavigering

84 tankar om “Ljudkort som generator”