MATLAB grunderna (6 / 6 steg)
Steg 6: Skapa en Specgram
Funktionen specgram av matlab tar en uppsättning datapunkter från wav-fil och utför en Fourier Transform på punkter att bestämma frekvenserna i signalen. För detta instructable, är det inte viktigt att veta hur en Fourier Transform fungerar, vet bara att specgram kommer att rita vilka frekvenser är närvarande, och hur starka de är förhållande till tid. Funktionen tomter tid på x-axeln och frekvens på Y-axeln. Styrkan på varje frekvens visas efter färg.
I detta fall wav-fil är en ljudinspelning av en bit metall att träffas då vibrationerna av metallen bokförs som ljud. Vi kan enkelt bestämma de resonant frekvensen av lappa av metall, eftersom det kommer att vara den frekvens som kvarstår längst med tid med specgram.
Att utföra denna uppgift, först har matlab läser wav-fil med hjälp av följande kod:
[x,fs]=wavread('flex4.wav');
I det här fallet flex4.wav är titeln på våra wav-fil, variabeln x är datapunkter i filen och fs avser provtagningsfrekvensen.
För att utföra specgram, bara Skriv in följande kod:
specgram [x(:.1), 256, fs];
256 motsvarar den frekvens som FFT utförs på när analysera data. MATLAB i princip hugga ljudfilen i bitar och ta en FFT på varje bit The 256 berättar hur stor varje bit ska vara. Information om detta är inte viktigt, och 256 är ett säkert värde som används för de flesta tillämpningar.
Nu om du kör koden, ser du en siffra dyker upp som sett i den andra bilden. Utifrån detta är det lätt att se att resonansfrekvensen motsvarar den röda toppen i det nedre högra hörnet av siffran. Detta är den toppen som kvarstår längsta förhållande till tid.