Мазмуну:
- 1 -кадам: Composants Utilisés
- 2 -кадам: Архитектура
- 3 -кадам: Partie Analogique
- 4 -кадам: таасирдүү PCBлер
- 5 -кадам: Partie Numérique
- 6 -кадам: Le Code
Video: Autotune: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Автотюнаштыруу программасы жок
Notre équipe va vous présenter la réalisation de ce projet. Notre équipe est compée de 3 eélèves ingénieurs de Polytech Sorbonne en EISE4 (4ème année du cycle ingénieur en electronique informatique systèmes embarqués).
Ноутбуктар микрофон менен жабдылган жок, жана FFT менен компьютерди өчүрүп салыңыз. Il sera мүмкүн болгон өзгөрткүч ле уулу аудио comme ле көлөмү жана créer un echo.
C'est parti pour les explications !!
1 -кадам: Composants Utilisés
- Carto DEO-Nano-SoC
- Batterie 2 чыгаруу 5V2A
- Микро
- Haut Parleur 8 Ом
- Регулятор: MAX660
- Capteur IR: GP2Y0E02A
- Ampli Аудио: LM386N-1/NOPB
- DAC: MCP4821-E/P
- Диод: 1N4148
- Транзит: LND150N3-G / N-FET
- 2 AOP: TL081C
- Каршылыктар
- Конденсаторлор
- Wifi: ESP8266EX
- 4 которуштуруу
- 3 Leds de couleurs
2 -кадам: Архитектура
Voici ci-dessus notre schéma bloc représentant l'architecture de notre projet Autotune.
Comme vous pouvez le voir, notre projet va pouvoir capter un son à l'aide du micro dont le signal analogique capté sera converti en un signal numérique dont l'ADC est intégré dans la carte FPGA. Puis le signal sera modifié selon nos effets choisis à l'aide d'un capteur de proximité et des switch. Белгилей кетчү нерсе, сигналдын модернизациясы картаны кайра калыбына келтирүү жана аналогдун аналоги менен сера transmise à travers le haut parleur.
3 -кадам: Partie Analogique
Notre partie analogie est compée de 2 circuit:
Баштапкы схема микробитизациядан кийин, FPGA CAN де ла карталык CAN сериясында, компенсациянын күчөтүлүшүндө жана андан кийин фильтрдин пассивдүүлүгүндө сигналдарды калыбына келтирүү.
Ачык схема боюнча сиз өзүңүздү башкара аласыз, бул жерде FPGA, DAC, dise diviseur де тирешүү жана анын күчөткүч аудиосу.
Документтердин тизмеси -5V үчүн композиторлорго жардам бериңиз.
4 -кадам: таасирдүү PCBлер
Maintenant, nous allons créer no PCB afin de les impimer et de les relier!
Жөнөкөй логистика Alitum, nous avons pu creer deux PCBs, c’est à dire la partie micro et haut parleur. Voici le сайтынын корреспонденти Altium qui peut certainement vous aider!
5 -кадам: Partie Numérique
PCB'лердин жардамы менен сиз FPGAнын карталарын колдоно аласыз!
Парте номериңизди, кодуңузду киргизиңиз. Качан, жөнгө салуу боюнча сигнал сигналды өзгөртүү жана өзгөртүү боюнча DAC en spi. Wifi deuxième côté, wifi боюнча эсептөөлөр боюнча. Cette séparation permet d'éviter les ralentissements sur la première partie.
On Qsys et quartus pour brancher le HPS avec les différents Components. IP SPI эскертмелерин колдонуу боюнча, IP UART менен баарлашууну баштоо керек.
6 -кадам: Le Code
Voici le lien où nous avons récuperé le code pour faire la fft.
Колдонуу боюнча fft калкуляторун төгүңүз:
// Création de la configuration et des buffers in and out pour s (t) et S (f) const kiss_fft_cfg config = kiss_fft_alloc (NFFT, 0, NULL, NULL);
kiss_fft_cpx*in = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); kiss_fft_cpx*out = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx));
үчүн (j = 0; j <NFFT; j ++) {Мааниси = *h2p_lw_adc_addr; // recupère la valeur provenant du pcb du microin [j].r = Мааниси-2000.0; // пенсияга чыгуу боюнча (c = valeurfor) (i = 0; i <2100; i ++) {} // барат un temps bien précis pour avoir une fréquence d’échantillonnage connue}
// Эсептөө де FFT depuis in versus outkiss_fft (config, in, out); bzero (C_val, 110); // remet à zero le tableau qui nous sert de buffer que l'on va envoyer par wififor (t = 0; t <(NFFT/4); t ++) {// limiter la taille du buffer on limite la sortie de la fft à des valeurs entre 0 et 9 tmp_log = 20*(log (abs (out [t].r/1000.0))))*9;
tmp_log = tmp_log/50; if (tmp_log <0) {tmp_log = 0; } if (tmp_log> 9) {tmp_log = 9; } sprintf (tmp_val, "%d", tmp_log); strcat (C_val, tmp_val); // ajoute au buffer la nouvelle valeur
} send_wifir (C_val); // wifi'ге байланыштуу буфер буфери боюнча
fonction wifir жөнөтүү:
жараксыз send_wifir (char* com_AT) {int num, z; for (z = 0; z <22000000; z ++) {} for (num = 0; num <(int) strlen (com_AT); num ++) { *(h2p_lw_rs232_addr) = com_AT [num]; }}
Ла код картасын колдонуу үчүн, баштапкы кодду колдонуңуз:
send_wifi ("AT+RST / r / n"); // demande de reset à la cartesleep (3); // катышуу resetsend_wifi ("AT+CWMODE = 3 / n / r"); // режимди тандоо la cartesend_wifi ("AT+CWJAP = \" wifiNom / ", \" MotDePasse / "\ r / n"); // lui demande de se connecter au wifisleep (15); // катышуу боюнча connectesend_wifi ("AT+CIPSTART = \" UDP / ", \" 192.168.43.110 / ", 32003 / r / n"); // On lui requeste de connecter en udp avec le servur ouvert sur un autre ordinateursleep (3); // join la connexionsend_wifi ("AT+CIPMODE = 1 / r / n"); // on met met en mode envoie en continueleep (3); send_wifi ("AT+CIPSEND / r / n"); // берүү башталат
wifi жөнөтүү функциясы:
void send_wifi (char * com_AT) {int num, z; for (num = 0; num <(int) strlen (com_AT); num ++) { * (h2p_lw_rs232_addr) = com_AT [num]; үчүн (z = 0; z <2500000; z ++) {}}}
Кызматтын коду:
affichage de la fft:
int i, j, Мааниси = 0; система ("ачык");
for (i = 0; i <41; i ++) {if (i <40) {for (j = 0; j <BUFSIZE; j ++) {if (table [j]*4> (40 - i)) {if (стол [j]*4> 35) printf (КЫЗЫЛ "|" КАЙРА ЖӨНДӨӨ); else if (стол [j]*4> 28) printf (L_RED "|" КАЙТА ЖӨНДӨӨ); else if (table [j]*4> 21) printf (YEL "|" RESET); else if (стол [j]*4> 14) printf (L_YEL "|" КАЙТА ЖӨНДӨӨ); else if (стол [j]*4> 7) printf (L_GRN "|" КАЙТА ЖӨНДӨӨ); else printf (GRN "|" КАЙРА ЖӨНДӨӨ); } else printf (""); } printf ("\ n"); } else {printf ("0Hz 2.5Hz 5Hz 7.5kHz 10kHz / n"); /*үчүн (j = 0; j <(BUFSIZE/2); j ++)
Сунушталууда:
Кантип кадам эсептегич жасоо керек?: 3 кадам (сүрөттөр менен)
Step Counter кантип жасалат ?: Мен көптөгөн спортто жакшы аткарчумун: жөө басуу, чуркоо, велосипед тебүү, бадминтон ойноо ж.б. Мейли, менин ичимди карачы ……. Ооба, баары бир мен машыгуу үчүн кайра баштоону чечтим. Мен кандай жабдыктарды даярдашым керек?
IPodдо Doomду 5 жеңил кадам менен ойноңуз !: 5 кадам
Doom'ду IPodдо 5 жеңил кадам менен ойноңуз!: Doom жана башка ондогон оюндарды ойноо үчүн iPod'уңузда Rockboxту кантип кош жүктөө керектиги боюнча этап-этабы менен көрсөтмө. Бул чындыгында оңой нерсе, бирок менин iPodдо кыйроо ойноп жатканымды көргөндөрдүн көбү дагы эле таң калышат жана көрсөтмө менен чаташып кетишет
WordPressке плагиндерди 3 кадам менен кантип орнотсо болот: 3 кадам
WordPressке плагиндерди 3 этапта кантип орнотуу керек: Бул үйрөткүчтө мен сизге веб -сайтыңызга WordPress плагинин орнотуу үчүн эң маанилүү кадамдарды көрсөтөм. Негизи плагиндерди эки башка жол менен орнотсоңуз болот. Биринчи ыкма ftp же cpanel аркылуу болот. Бирок мен аны тизмектебейм, анткени бул чындыгында нааразы
Акустикалык левитация Arduino Uno менен кадам-кадам (8-кадам): 8 кадам
Акустикалык левитация менен Arduino Uno Step-by-Step (8-кадам): ультрадыбыштуу үн өткөргүчтөр L298N Dc аял адаптеринин электр энергиясы менен камсыздоосу эркек токту Arduino UNOBreadboard Бул кантип иштейт: Биринчиден, сиз Arduino Uno кодун жүктөп бересиз (бул санарип менен жабдылган микроконтроллер) жана аналогдук порттор кодду айландыруу үчүн (C ++)
Autotune кантип жасалат (бекер!): 4 кадам
Кантип Autotune кылыш керек (бекер!): Garagebandдын жардамы менен сиз ушунчалык көп уккан автоматтык эффектти кантип оңой түзүүнү үйрөнүңүз. ** EDIT ** Мисалга шилтеме: http://limelinx.com/files/e7b32e25dda5c5a22ab1bfc8c0eb3acd