Ինչպես ստեղծել թվային ռադիո DSP-ով

Ինչպես ստեղծել թվային ռադիո DSP-ով

Թվային ռադիոն գնալով ավելի մեծ ժողովրդականություն է վայելում ավելի լավ ձայնի որակ ապահովելու, հաճախականության սպեկտրի ավելի արդյունավետ օգտագործման և լրացուցիչ հնարավորությունների, ինչպիսիք են երգերի մասին տեղեկատվության մետատվյալները, շնորհիվ: Թվային ռադիոյի մշակման հիմնական բաղադրիչներից մեկը թվային ազդանշանային պրոցեսորի (DSP) օգտագործումն է: Այս հոդվածում կքննարկվեն DSP-ի միջոցով թվային ռադիո մշակելու քայլերը:

Պենդահուլուան

Թվային ազդանշանային պրոցեսորը (DSP) միկրոպրոցեսոր է, որը հատուկ նախագծված է իրական ժամանակում թվային ազդանշանների մշակման համար: Թվային ռադիոյի համատեքստում DSP-ն անալոգային ազդանշանները փոխակերպում է թվայինի, մշակում այդ ազդանշանները և վերջապես թվային ազդանշանները հետ փոխակերպում լսելի անալոգային ազդանշանների:

Թվային ռադիո ստեղծելու համար անհրաժեշտ են մի քանի հիմնական բաղադրիչներ, մասնավորապես՝
1. Անտենա՝ Ռադիոազդանշաններ ստանալու համար։
2. Լուծիչ. Ցանկալի ռադիոհաճախականությունը ընտրելու համար:
3. DSP: Թվային ազդանշանի մշակման համար:
4. DAC (թվային-անալոգային փոխարկիչ). Թվային ազդանշանները անալոգային ազդանշանների փոխակերպելու համար:
5. Բարձրախոս կամ ականջակալ. Ձայնի ելքի համար:

Քայլ մեկ. Բաղադրիչների ընտրություն

1. Անտենա
Օգտագործվող անտենան պետք է համապատասխանի այն հաճախականությանը, որը դուք ցանկանում եք ստանալ: FM ռադիոյի համար սովորաբար օգտագործվում է հեռադիտակային անտենա կամ պարզ մոնոպոլ անտենա:

2. Լարող
Լարիչը կարող է լինել օգտագործման պատրաստ մոդուլ կամ բաղադրիչ, ինչպիսին է Si4703 կամ TEA5767 չիպը: Այս մոդուլները սովորաբար գալիս են I2C կամ SPI միջերեսով, ինչը հեշտացնում է հաճախականության կառավարումը միկրոկառավարիչի միջոցով:

3. DSP
DSP-ի ընտրությունը ամենակարևոր մասն է: Ռադիոծրագրերում օգտագործվող որոշ տարածված DSP-ներ ներառում են՝
– Տեխաս Ինստրումենթս (TI) TMS320 շարք
– Անալոգային սարքեր (ADI) SHARC շարք
– STM32 շարքը DSP ծայրամասային սարքավորումներով

4. DAC
Թվային ազդանշանը անալոգայինի փոխակերպելու համար կարող են օգտագործվել PCM5102 կամ ES9018 DAC-ներ, որոնք լավ ձայնային որակով DAC-ներ են:

5. Բարձրախոս
Ավելի պարզ և բարձր ձայն ստանալու համար կարող եք օգտագործել ակտիվ բարձրախոսներ կամ օգտագործել փոքր ուժեղացուցիչ մոդուլ, ինչպիսին է PAM8403-ը։

Սարքի դիզայն

Բլոկային սխեմա

1. Անտենա -> 2. Լյուներ -> 3. DSP -> 4. DAC -> 5. Բարձրախոս

Այս համակարգի հիմնական մշակումը կատարվում է թվային թվային պատկերի (DSP) վրա, որտեղ ազդանշանը ընդունվում է անտենայի կողմից և ընտրվում է լարողի կողմից, այնուհետև մտնում է DSP թվային մշակման համար, և վերջապես DAC-ի միջոցով վերածվում է անալոգային ազդանշանի և արտածվում բարձրախոսով։

Շղթայի սխեմա

1. Անտենա
– Թյուների մուտքին միացված անտենայի պարզ դիագրամ։

2. Կարգավորիչի մոդուլ
– Կարգավորիչի և հաճախականության կառավարման համար օգտագործվող միկրոկառավարիչի միջև ինտերֆեյսի դիագրամ։

3. DSP
– DSP միացման սխեմա, որը միացված է կարգավորիչին՝ մուտքային ազդանշաններ ստանալու համար, և նաև միացված է միկրոկառավարիչին՝ ծրագրի բեռնման համար։

4. DAC
– Բարձրախոսին միացված թվային ազդանշանի DSP-ից անալոգայինի փոխակերպման դիագրամ։

5. Բարձրախոս
– Բարձրախոսը ուժեղացուցիչին միացնելու պարզ սխեմա, եթե անհրաժեշտ է։

Ծրագրային ապահովման ներդրում

Երբ սարքավորումները պատրաստ լինեն, հաջորդ քայլը միկրոկառավարիչի և թվային կարգավորիչի վրա աշխատող ներկառուցված ծրագրային ապահովման մշակումն է։

Լարիչի կառավարում

Նախ, համոզվեք, որ ձեր միկրոկառավարիչը կարող է կապ հաստատել կարգավորիչի հետ: I2C կամ SPI կապ օգտագործող մոդուլների համար դուք պետք է ինտեգրեք I2C/SPI գրադարանը ձեր միկրոկառավարիչի մեջ:

TEA5767 կարգավորիչ մոդուլը Arduino-ով կառավարելու օրինակելի կոդ.

«cpp
ներառում են

անվավեր կարգավորում () {
Wire.begin(); // I2C նախնականացում
Serial.begin (9600);
setFrequency(101.1); // Սահմանել հաճախականությունը 101.1 ՄՀց
}

անվավեր հանգույց () {
// պարտադիր չէ
}

void setFrequency(float frequency) {
uint16_t frequencyB = 4 (հաճախականություն 1000000 + 225000) / 32768;
բայթային բուֆեր[5];
բուֆեր[0] = հաճախականությունB >> 8;
բուֆեր[1] = հաճախականությունB և 0XFF;
բուֆեր[2] = 0xB0;
բուֆեր[3] = 0x10;
բուֆեր[4] = 0x00;
Wire.beginTransmission(0x60);
Wire.write(բուֆեր, 5);
Wire.endTransmission();
}
««

Սիգնալի մշակում DSP-ով

DSP ծրագրավորումը կարող է ավելի բարդ լինել՝ կախված DSP-ի տեսակից և հնարավորություններից: Օրինակ՝ Texas Instruments DSP-ի դեպքում, դուք, հավանաբար, կօգտագործեք Code Composer Studio (CCS) ծրագիրը՝ DSP կոդը մշակելու և այն վերբեռնելու համար:

FM ազդանշանը դեմոդուլացնող DSP-ի կեղծ կոդի օրինակ՝

«cpp
void main() {
initDSP(); // DSP-ի նախնականացում
մինչդեռ (1) {
// Կարդացեք ազդանշանը կարգավորիչից
signalAnalog = readAnalogInput();

// Թվային ազդանշանի մշակում
թվային ազդանշան = անալոգից թվային(անալոգային ազդանշան);
դեմոդուլացվածՍիգնալ = FM_Demodulate(signalDigital);

// Վերադարձնել անալոգային ազդանշանի
ելքային ազդանշան = թվայինիցանման(դեմոդուլացվածազդանշան);

// Ուղարկել DAC-ին
ուղարկելԴԱԿ(ելքայինազդանշան);
}
}
««

DAC-ի կարգավորում

DSP-ում մշակումն ավարտվելուց հետո թվային ազդանշանը պետք է նորից փոխակերպվի անալոգայինի՝ օգտագործելով DAC: Այս կարգավորումը սովորաբար կատարվում է I2C կամ SPI միջոցով: Համոզվեք, որ ձեր օգտագործած DAC-ը համատեղելի է DSP-ից ստացված թվային ազդանշանի հետ:

Raspberry Pi-ով PCM5102 DAC-ը կառավարելու պարզ կոդի օրինակ՝

«Պիթոն
ներմուծել smbus

ավտոբուս = smbus.SMBus(1)
հասցե = 0x4C

def set_volume(ծավալ):
bus.write_byte_data(հասցե, 0x00, ծավալ)

Սահմանեք ձայնի ուժգնությունը որոշակի մակարդակի վրա, օրինակ՝ 0x7F
սահմանել_ծավալը(127)
««

Փորձարկում և վրիպազերծում

Երբ ամբողջ սխեման միացված է և ներկառուցված ծրագիրը բեռնված է, հաջորդ քայլը բոլոր բաղադրիչների ճիշտ աշխատանքի ստուգումն է։

Թեստավորման խորհուրդներ

1. Կատարեք աստիճանական թեստավորում. յուրաքանչյուր բաղադրիչը առանձին-առանձին փորձարկեք դրանք միավորելուց առաջ։
2. Օսցիլոգրաֆ օգտագործել՝ սխեմայի տարբեր կետերում ազդանշանի ալիքի ձևը դիտարկելու համար։
3. Աստիճանական կարգաբերում. Եթե խնդիր կա, մեկուսացրեք այն HF բաղադրիչից՝ նախքան DSP-ին անցնելը:
4. Ուշադրություն դարձրեք խանգարմանը. Անտենայի դիրքը և պաշտպանությունը կարող են ազդել ազդանշանի որակի վրա:

Վերջապես, եթե բոլոր բաղադրիչները ճիշտ են աշխատում, դուք կարող եք լսել թվային ռադիո՝ ձեր կառուցած համակարգից մաքուր ձայնի որակով։

Եզրակացություն

DSP-ով թվային ռադիո կառուցելը պահանջում է թվային ազդանշանի սարքավորումների և ծրագրավորման լավ ըմբռնում: Զգույշ պլանավորման և բաղադրիչների ճիշտ ընտրության միջոցով դուք կարող եք ստեղծել բարձրորակ թվային ռադիո: DSP-ն ապահովում է ազդանշանի մշակման ճկունություն և հնարավորություն է տալիս մի շարք լրացուցիչ գործառույթների, որոնք հնարավոր չեն ավանդական անալոգային մեթոդներով: Զվարճացեք ձեր սեփական թվային ռադիոն կառուցելով և վայելեք ձեր աշխատանքի պտուղները:

Թողեք մեկնաբանություն