Bii o ṣe le ṣe Redio Oni-nọmba pẹlu DSP

Bii o ṣe le ṣe Redio Oni-nọmba pẹlu DSP

Rédíò oní-nọ́ńbà ti di gbajúmọ̀ síi nítorí agbára rẹ̀ láti fi ohùn tó dára jù hàn, lílo ìpele ...

Pendahuluan

DSP, tàbí Digital Signal Processor, jẹ́ microprocessor tí a ṣe pàtó fún ṣíṣe àmì oní-nọ́ńbà ní àkókò gidi. Nínú àyíká rédíò oní-nọ́ńbà, DSP kan yí àwọn àmì oní-nọ́ńbà padà sí oní-nọ́ńbà, ó ń ṣe àgbékalẹ̀ àwọn àmì náà, ó sì yí àwọn àmì oní-nọ́ńbà padà sí àwọn àmì oní-nọ́ńbà tí a lè gbọ́.

Láti ṣe rédíò oní-nọ́ńbà, ọ̀pọ̀lọpọ̀ àwọn èròjà pàtàkì ni a nílò, èyí ni:
1. Antenna: Láti gba àwọn àmì rédíò.
2. Olùtúnṣe: Láti yan ìgbóhùnsáfẹ́fẹ́ rédíò tí a fẹ́.
3. DSP: Fún ìṣiṣẹ́ àmì oní-nọ́ńbà.
4. DAC (Digital-to-Analog Converter): Láti yí àwọn àmì oní-nọ́ńbà padà sí àwọn àmì oní-nọ́ńbà.
5. Agbọ́hùn tàbí ètí: Fún ìgbóhùnjáde.

Igbese Kinni: Yiyan Awọn Apakan

1. Eriali
Antenna tí a lò gbọ́dọ̀ bá ìgbà tí o fẹ́ gbà mu. Fún rédíò FM, a sábà máa ń lo antenna onítẹ̀lẹ́fẹ́lẹ́ tàbí antenna monopole kan.

2. Tuner
Atunṣe naa le jẹ modulu ti o ti ṣetan lati lo tabi paati bii Si4703 tabi TEA5767 chip. Awọn modulu wọnyi nigbagbogbo wa pẹlu I2C tabi SPI interfacing, eyiti o jẹ ki o rọrun lati ṣakoso igbohunsafẹfẹ nipa lilo microcontroller.

3. DSP
Yíyan DSP ni apa pataki julọ. Diẹ ninu awọn DSP ti a lo ninu awọn ohun elo redio ni:
– Texas Instruments (TI) TMS320 jara
– Awọn Ẹrọ Analog (ADI) jara SHARC
– STM32 jara pẹlu awọn ẹya ẹrọ DSP

4. DAC
A le lo DAC bíi PCM5102 tàbí ES9018, èyí tí ó jẹ́ DAC tí ó ní ohùn tó dára, láti yí àmì oní-nọ́ńbà padà sí àmì analog.

5. Agbọ́hùn
O le lo awọn agbọrọsọ ti nṣiṣe lọwọ tabi lo modulu amplifier kekere bii PAM8403 lati ṣe agbejade ohun ti o han gbangba ati ti o ga julọ.

Apẹrẹ Ẹrọ

Ètò Àkọsílẹ̀

1. Antenna -> 2. Atunṣe -> 3. DSP -> 4. DAC -> 5. Agbọ́hùnsọ

Iṣẹ́ pàtàkì ti ètò yìí wà lórí DSP, níbi tí a ti gba àmì náà nípasẹ̀ eriali tí a sì yàn láti ọwọ́ olùtúnṣe, lẹ́yìn náà a wọ inú DSP fún ìṣiṣẹ́ oní-nọ́ńbà, lẹ́yìn náà a yí i padà sí àmì afọwọ́ṣe nípasẹ̀ DAC àti ìjáde láti inú agbọ́hùnsọrí.

Àwòrán Ìṣètò Àyíká

1. Antenna
– Àwòrán tó rọrùn ti eriali tí a so mọ́ ìtẹ̀síwájú olùtúnṣe.

2. Módù Atúnṣe
– Àwòrán ìbánisọ̀rọ̀ láàárín olùtúnṣe àti olùdarí micro tí a lò fún ìṣàkóso ìgbóhùnsáfẹ́fẹ́.

3. DSP
– Àwòrán okùn DSP tí a so mọ́ olùtúnṣe láti gba àwọn àmì ìtẹ̀síwájú àti láti so mọ́ microcontroller fún ìgbékalẹ̀ ètò náà.

4. DAC
– Àwòrán ìyípadà àmì oní-nọ́ńbà láti DSP sí àmì afọwọ́ṣe tí a so mọ́ agbọ́hùnsọ̀rọ̀.

5. Agbọ́hùn
- Àwòrán tó rọrùn láti so agbọ́rọ̀sọ pọ̀ mọ́ amplifier tí ó bá yẹ.

Imuse Firmware

Nígbà tí hardware bá ti parí, ìgbésẹ̀ tó tẹ̀lé ni láti ṣe àgbékalẹ̀ firmware tí yóò ṣiṣẹ́ lórí microcontroller àti DSP.

Ṣíṣàkóso Olùtúnṣe

Àkọ́kọ́, rí i dájú pé microcontroller rẹ lè bá tuner sọ̀rọ̀. Fún àwọn modulu tí ó ń lo ìbánisọ̀rọ̀ I2C tàbí SPI, o gbọ́dọ̀ so ìkàwé I2C/SPI pọ̀ mọ́ microcontroller rẹ.

Àpẹẹrẹ kódù fún ṣíṣàkóso módùùlù tuner TEA5767 pẹ̀lú Arduino:

" cpp
ni

eto ofo () {
Wire.begin(); // Ibere ​​I2C
Serial.begin (9600);
setFrequency(101.1); // Ṣètò ìgbóhùnsáfẹ́fẹ́ sí 101.1MHz
}

ofo ni lilu () {
// ko nilo
}

void setFrequency(float frequency) {
ìpele ìpele uint16_tB = 4 (ìpele ìpele 1000000 + 225000) / 32768;
byte buffer[5];
buffer[0] = ìpele ìgbàlódéB >> 8;
buffer[1] = ìpele ìgbàlódéB & 0XFF;
àfikún[2] = 0xB0;
àfikún[3] = 0x10;
àfikún[4] = 0x00;
Wáyà.bẹ̀rẹ̀Gbigbasilẹ(0x60);
Wíwẹ́ẹ̀tì.write(àfikún, 5);
Wire.endTransmission ();
}
““

Iṣẹ́ Àmì Ìmúṣiṣẹ́ pẹ̀lú DSP

Ṣíṣe ètò DSP le jẹ́ ohun tó díjú síi, ó sinmi lórí irú àti agbára DSP náà. Fún àpẹẹrẹ, pẹ̀lú Texas Instruments DSP, o ṣeé ṣe kí o lo Code Composer Studio (CCS) láti ṣe àgbékalẹ̀ àti gbé kódù sí DSP náà.

Àpẹẹrẹ àmì-ẹ̀rọ fún DSP kan tí ó ń sọ àmì FM di aláìlágbára:

" cpp
ofo akọkọ() {
initDSP(); // Ṣe atunto DSP
nígbàtí (1) {
// Ka ifihan agbara lati ọdọ oluyipada
signalAnalog = readAnalogInput();

// Ṣiṣẹ ifihan agbara oni-nọmba
signalDigital = analogToDigital(signalAnalog);
Àmì ìfàsẹ́yìn = FM_Demodulate(signalDigital);

// Yi pada si ifihan agbara analog
Ifihan agbara = oni-nọmbaSiAnalog(Ifihan agbara ti a ti yọ kuro);

// Firanṣẹ́ sí DAC
sendToDAC(ìjádeSignal);
}
}
““

Ṣiṣeto DAC

Lẹ́yìn tí ìṣiṣẹ́ náà bá ti parí nínú DSP, a gbọ́dọ̀ yí àmì oní-nọ́ńbà padà sí analog nípa lílo DAC. A sábà máa ń ṣe ètò yìí nípasẹ̀ I2C tàbí SPI. Rí i dájú pé DAC tí o lò bá àbájáde àmì oní-nọ́ńbà láti ọ̀dọ̀ DSP mu.

Àpẹẹrẹ kódù tó rọrùn fún ṣíṣàkóso PCM5102 DAC pẹ̀lú Raspberry Pi:

"'Python
gbe wọle smbus

bọ́ọ̀sì = smbus.SMBus(1)
àdírẹ́sì = 0x4C

def iwọn didun ṣeto(iwọn didun):
data_bus.write_byte(àdírẹ́sì, 0x00, ìdìpọ̀)

Ṣètò iwọn didun ni ipele kan pato fun apẹẹrẹ 0x7F
iwọn didun ṣeto(127)
““

Idanwo ati Iṣatunkọ

Nígbà tí gbogbo ẹ̀rọ náà bá ti so pọ̀ tí wọ́n sì ti gbé firmware náà sórí ẹ̀rọ náà, ìgbésẹ̀ tó tẹ̀lé ni láti dán an wò láti rí i dájú pé gbogbo àwọn ẹ̀yà ara ẹ̀rọ náà ń ṣiṣẹ́ dáadáa.

Àwọn Ìmọ̀ràn Ìdánwò

1. Ṣe Ìdánwò Àfikún: Ṣe ìdánwò gbogbo àwọn ohun èlò lọ́tọ̀ọ̀tọ̀ kí o tó so wọ́n pọ̀.
2. Lo Oscilloscope: Láti kíyèsí ìgbì àmì ní oríṣiríṣi ibi nínú àyíká náà.
3. Àtúnṣe Àfikún: Tí ìṣòro kan bá wà, ya ìṣòro náà sọ́tọ̀ kúrò lára ​​ẹ̀ka HF kí o tó wọ inú DSP.
4. Ṣàkíyèsí ìdènà: Ipò àti ààbò antenna lè ní ipa lórí dídára àmì.

Níkẹyìn, tí gbogbo àwọn ẹ̀yà ara bá ń ṣiṣẹ́ dáadáa, o lè tẹ́tí sí rédíò oní-nọ́ńbà pẹ̀lú ohùn dídára láti inú ètò tí o ti kọ́.

Ipari

Kíkọ́ rédíò oní-nọ́ńbà pẹ̀lú DSP nílò òye tó jinlẹ̀ nípa ohun èlò ìṣàfihàn oní-nọ́ńbà àti ètò ìṣètò oní-nọ́ńbà. Pẹ̀lú ètò tó ṣọ́ra àti yíyan àwọn ohun èlò tó yẹ, o lè ṣẹ̀dá rédíò oní-nọ́ńbà tó ga. DSP ń fúnni ní ìyípadà nínú ṣíṣe àmì, ó sì ń jẹ́ kí ọ̀pọ̀lọpọ̀ àwọn ohun èlò afikún tí kò ṣeé ṣe pẹ̀lú àwọn ọ̀nà analog ìbílẹ̀. Gbadùn kíkọ́ rédíò oní-nọ́ńbà tìrẹ kí o sì gbádùn èso iṣẹ́ rẹ!

Fi ọ̀rọ̀ sílẹ̀