PIC Frekvens tæller? (PC/Mobil telefon audio out)

Hej,

Jeg skal have et lyd signal fra en pc(eller headset audio out fra en mobil telefon), ind i en PIC microcontroller, som så vil tæller frekvensen på signalet.. (Gerne en PIC16F628-20)

Først skal det vel forstærkes op, skal jeg bruge PIC indbyggede OPAMP til det ? (Har prøvet med en BC547 med kan ik rigtig få det til at virke) Skal der en kondesator i mellem?

Lyd styrken variager hele tiden, og det må den ikke!, så signalet skal være i et bestemt niveau efter OPAMP forstærken..

Efter den har jeg tænkt mig at putte signalet ind på et Interrupt ben, så tæller PIC chippen hvor mange low to high impulser der sker i løbet af feks 10 eller 20mS.

Og ud fra det udregnes frekvensen.

Hvad bliver mon sample raten og opløsningen ved feks 4MHz og 20MHz?

-- Med Venlig Hilsen Johannes Kristensen

Reply to
Johannes
Loading thread data ...

Prøv at tegne et diagram over hvad du havde tænkt dig at lave. Og skriv signalnivauerne på. Hvorfor må det ikke variere? Vil du selv lave tælleren? Software i tælleren? Du spørger om der skal en kondensator imellem. Imellem hvad? Skal du have svar til dit projekt skal du nok spørge lidt mere konkret.

-- MVH. Finni "Johannes" skrev i en meddelelse news:46d1fd26$0$2089$ snipped-for-privacy@dtext02.news.tele.dk...

Reply to
F.Syndergaard

Johannes skrev:

Hej Johannes

Din metode til at måle frekvens vil kun virke på et signal med en frekvens, ikke på et audio signal. Se:

formatting link
Øverst er en sinus bølge, den vil du kunne tælle, dividere og der med få frekvensen. Nederst er et enkelt musik instrument, det er tydeligt at se at der er mange frekvenser i signalet. Man siger det er sammensat. Se:
formatting link
En gennemsnits beregning af dette signal vil give et resultat der varierer en den og ikke siger meget om signalet. En frekvens analyse af et audio signal givet et frekvens spektrum:
formatting link
For at lave et sådan skal du ha gang i Fourier Transformation, hvilket kan være noget lang håret og meget mere kompliceret end det du fremligger.

Håber det hjælper lidt.

--
Hilsen Mikkel Lund
"Sund fornuft, har aldrig stoppet en tosse"
Jokeren i "Mænds ruin"
Reply to
Mikkel Lund

Hej,

Var vidst lige træt da jeg skrev det - så det blev noget usammehængen :S

Mit audio signal som jeg får fra headset udgangen på en mobiltelefon(eller fra en pc i testfasen), indeholder kun en bestemt frekvens over feks 20mS, så en pause, næste frekvensen osv..

Det skal bruges til et mobilt modem, til at styre rorende på et modelfly. (Se evt forrige post DTMF modem)

  1. Starter med en 50mS pause(ingen lyd) (START MARK)
  2. Så kommer der et signal på 2222Hz på 50mS (SYNC)
  3. Pause på 10mS
  4. ROR1 signal 1000-1500Hz på 30mS
  5. Pause på 10mS
  6. ROR2signal 1500-2000Hz på 30mS
  7. Pause på 10mS
  8. ROR3 signal 2000-2500Hz på 30mS
  9. Og forfra igen..

Har prøvet at køre det igennem mobilerne og så optage på pc, kan godt se GSM EFR / AMR codec laver en smule om på signalet, men det er heldigvis meget lidt - så tror min ide virker :D

Det jeg så vil gøre med PIC16F628 chippen er at:

  1. Vente på en pause på 50mS,
  2. Vente 5mS(EFR codec ødelægger overgangen en smule)
  3. Tæller frekvensen med low-to-high ticks med en tæller, over 20mS = frekvensen 2222Hz.
  4. Vente 5mS(codec støj)
  5. Vente 10ms(pause)
  6. Vente 5mS(codec støj)
  7. Gøre det samme med ROR1 frekvensen osv..

Kan godt finde ud af softwaren, men problemet er mest hardwaren.

Audio signalet skal første forstærkes op, og *helst* gøres sådan at lydniveauet er konstant. (Lyden må ikke kører op/ned pga AGC osv - frekvensen skal der ikke gøres noget ved)

Mit spørgsmål er hvordan laver man den hardware?

Med en OPAMP?

Signalet skal hæves sådan at LAV=0-2.5V og HØJ 2.5-5V, når signalet kommer ind på RBx benet på PIC mikrocontrolleren, som tæller impulserne=frekvensen.

Et diagram ville hjælpe *meget* :D

Giver det mening?

-- Med Venlig Hilsen Johannes

Reply to
Johannes

Johannes skrev:

okay. Brug komparator delen af PICen, se i databladet for PICen side 53. Måske særligt figur 9-2, virker det bekendt? :-)

--
Hilsen Mikkel Lund
"Sund fornuft, har aldrig stoppet en tosse"
Jokeren i "Mænds ruin"
Reply to
Mikkel Lund

Hej Johannes

Vil du også have konstruktioner som findes på nettet?

hilsen

Glenn

Reply to
Glenn Møller-Holst

Hej,

Ja tak - alt vil hjælpe :-)

-- Med Venlig Hilsen Johannes

Reply to
Johannes

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.