Unerwünschte Frequenzen im Sägezahnton

Da 440 eine A-Note darstellt, stellt ein 55-Hz-Ton auch ein A dar, da er bei 1/8 der Frequenz liegt. Wenn ich diese Note jedoch in Audacity erzeuge , erhalte ich immer unerwünschte Frequenzen, die als kleine Spitzen unterhalb des Grundtons und aller Obertöne erscheinen.

Hier ist ein Beispiel für eine 55-Hz-Sägezahnwelle, die mit einer Abtastrate von 48000 Hz erzeugt wird:Geben Sie hier die Bildbeschreibung ein

Sie können diese kleinen Spitzen ab 5 Hertz deutlich sehen. Was verursacht diese unerwünschten Frequenzen?

Bearbeiten: Ich habe endlich festgestellt, dass diese "Geister" -Frequenzen tatsächlich das Ergebnis von Aliasing sind , da die Sägezahnwelle nicht bandbegrenzt ist ( dh nicht ihre maximale Frequenz begrenzt hat). Die Harmonischen jenseits der Nyquist-Frequenz werden auf Frequenzen "heruntergespiegelt", deren Hertz Vielfache des größten gemeinsamen Teilers zwischen der Grundfrequenz und der Abtastrate sind. In diesem Fall ist der GCD zwischen 55 und 48000 5, was die Aliase erklärt, die bei Vielfachen von 5 Hz auftreten. Ein weiteres Beispiel wäre die Tatsache, dass eine 43,75-Hz-Sägezahnwelle, die nicht bandbegrenzt bei 48000 Hz erzeugt wird, Aliases bei Vielfachen von 6,25 Hz erzeugen würde.

Nur um das klarzustellen, Sie wissen, dass eine Sägezahnwelle kein reiner Ton ist, oder? Nur Sinuswellen sind reine Töne, daher hat jede andere Funktion, selbst wenn sie bei 55 Hz periodisch ist, zwangsläufig harmonische Spitzen bei Vielfachen von 55 Hz. Allerdings sehen die Subharmonischen wie ein Artefakt aus, aber es ist schwer, weiter zu diagnostizieren als Sean E. Lakes Beobachtung, dass sie wahrscheinlich auf die Hüllkurve zurückzuführen sind, ohne zusätzliche Informationen darüber, was Sie genau tun.
Wäre die Signalverarbeitung oder möglicherweise die Elektrotechnik ein besseres Zuhause für diese Frage?
Aber beachten Sie alle Spitzen bei 5, 10, 15 usw. Hertz.
Ja, genau, darauf bezieht sich "Subharmonische". Es ist jedoch unklar, welche Rolle die Sägezahnwelle sowie ihre Oberwellen spielen. Warum führen Sie dies nicht mit einer Sinuswelle erneut aus und schneiden eine Quelle von Rauschen und Verwirrung aus?
Eine Sinuswelle zeigt nur 55 Hertz. Keine dieser parasitären subharmonischen und intraharmonischen (?) Frequenzen ...
Ich benutze Sägezahn. 55-Hertz-Frequenz, 48K-Abtastrate, 8 Sekunden lang.
Können Sie bitte ein Bild posten, auf dem die Achsenbeschriftungen und Tick-Beschriftungen lesbar sind?
Habe ein neues Bild mit den Gittern.
Nur ein SWAG, aber 55 Hz (und Oberwellen), das mit einem 60 Hz (50 Hz) Netz-„Brummen“ (und Oberwellen) gemischt wird, könnte 5 Hz (und Oberwellen) erzeugen.
Diese Situation hat nichts mit Netzrauschen zu tun
Wenn Ihre „Situation“ vollständig im digitalen Bereich liegt, warum sollten Sie das dann nicht sagen? Mir ist eine gewisse „Faulheit“ Ihrerseits aufgefallen, wenn es darum geht, ausreichend Kontext bereitzustellen. Ist das beabsichtigt? Was ist Ihre Absicht?
Selbst wenn Sie denken, dass dies im digitalen Bereich liegt, könnte die Theorie von @AlfredCentauri etwas dran haben. Weil viele solcher Softwarepakete einige ihrer Signale entweder aus gesampelten Instrumentenklängen oder unter Verwendung einer linearen prädiktiven Codierung von nicht digital erzeugten Klängen oder anderen Mitteln erzeugen, die eine Kontamination in das digitale Modell codieren können und tun. Sibelius tut dies zum Beispiel. Wie entsteht der Sägezahn? Sie müssen den gesamten Signalverarbeitungspfad beschreiben, der zu dem führt, was Sie haben: Sie haben mit ziemlicher Sicherheit eine Art Intermodulation, die dort passiert. Klaviersynthese ..
... Modelle erzeugen Intermodulation, da sie versuchen, die vom realen Instrument ausgehende Intermodulation digital zu modellieren (insbesondere durch die nichtlineare Reaktion des Metallrahmens).
Vielleicht hat es damit zu tun, dass 48000 (Abtastfrequenz) nicht durch 55 (die Frequenz der Sägezahnwelle) teilbar ist?
Nein, obwohl es sich um eine gute Schätzung handelt, liefert die Abtastrate nicht die Summen- und Differenzterme. Das können nur nichtlineare Prozesse. Um eine Vorstellung von dem Effekt zu bekommen, den Sie postulieren, arbeiten Sie die diskrete Fourier-Transformation von aus { e ich , ω k } k = 0 N und du wirst sehen, dass es ein einsamer Gipfel ist. Wenn ω harmonisch mit der Abtastfrequenz in Beziehung steht, umfasst die Spitze eine endliche Anzahl von Nicht-Null-Punkten. Wenn nicht, dann breitet sich die Spitze über alle Frequenzen aus, aber es ist immer noch nur eine Spitze.
„Antwort“ von @Robert Logozar in einen Kommentar umwandeln: „Danke El Ectric für das Posten dieser Frage. Ich habe die gleichen Artefakte festgestellt, als ich das SAW-Signal in Steinberg WaveLab 6 erstellt habe. Ohne jetzt zu versuchen, die richtige Antwort anzubieten, möchte ich einladen Interessenten, das genannte Phänomen weiter zu untersuchen, vielleicht sogar in einer Art wissenschaftlicher Arbeit. (Natürlich ist die gute Kenntnis der DSP willkommen. Um mich zu kontaktieren, googeln Sie bitte meinen Namen oder suchen Sie mein Profil auf ResearchGate. RL"

Antworten (3)

Ihre Abtastrate beträgt 48 k bei 55 Hz, sodass jede Periode 872,73 Samples umfasst. Die Größe Ihrer FFT ist 65536. Sie passt zu 75,093 Perioden der Signale. Der Algorithmus benötigt 75 Perioden, um das Diagramm zu zeichnen. Dies lässt 0,093 Perioden zwischen aufeinanderfolgenden FFT-Transformationen übrig. 0,093 Perioden bei 55 Hz entsprechen einer Frequenz von 5,1 Hz, die der Geisterfrequenz entspricht, die Sie innerhalb der Fehlergrenze sehen.

Diese Frequenz oder ihre Harmonischen sind im Klang nicht vorhanden, sondern ein mathematischer Fehler, der durch die Größe der FFT-Transformation (2^16) erzeugt wird, die nicht durch eine ganze Zahl mit der Anzahl der Abtastungen in der Periode des Signals in Beziehung steht.

Darüber hinaus erzeugt der 5,1-Hz-Geister nach der gleichen Logik ein sekundäres Artefakt bei 0,04 Hz, das Sie ebenfalls sehen. Genauer gesagt sind 5,1 Hz 9.350,6 Samples pro Periode bei 48k. Die FFT-Größe 65536 passt zu 7,0087 Perioden. 7 Perioden werden bei etwa 5 Hz angezeigt und der Periodenfehler von 0,0087 bei 5 Hz erzeugt ein 0,04-Hz-Geisterbild, das Sie links sehen. Bei etwa -80 dB sind die Werte klein und werden durch Rundungs- und andere Fehler, durch die Genauigkeit der Computeruhr und andere Faktoren beeinflusst, sodass die tatsächlichen Werte, die Sie sehen, leicht abweichen können.

Die Berechnung zeigt, dass die Artefakte abnehmen sollten, wenn Sie die erzeugte Frequenz von 55 Hz auf ungefähr 54,93 Hz reduzieren. Alternativ können Sie die Abtastfrequenz auf 48.06k erhöhen. Sie können die FFT-Größe jedoch nicht geringfügig ändern, da es sich um eine Potenz von 2 handeln muss.

Der Wechsel auf 54,93 erhöht jedoch nur die "Gruseligkeit" der Frequenzen. Ich denke, es liegt daran, dass jede Periode keine ganzzahlige Anzahl von Abtastungen (und damit die Rundung) ist, die zu diesen Geisterfrequenzen führt? Wenn die Abtastrate ein ganzzahliges Vielfaches der Frequenz des Tons ist, gibt es keine „Geister“. Aber immer dann, wenn die Abtastrate kein ganzzahliges Vielfaches der Frequenz ist, tauchen diese Geister wieder auf.
Ich war also ziemlich nah dran. Im Wesentlichen die gleiche Idee, nur mit der Abtastrate statt der durch die Frequenz teilbaren FFT-Größe. Ich bin froh, dass du es herausgefunden hast :)
Es läuft also alles darauf hinaus, dass "Geisterfrequenzen auftreten, wenn (Frequenz) / (Abtastrate) keine ganze Zahl ist"? Aber dieses "Dreieck" unten links im Spektrogramm erscheint die ganze Zeit.
@ElEctric Ich denke, wir haben mit Sicherheit festgestellt, dass die Geisterartefakte durch die minderwertige Signalverarbeitung in der Software erzeugt werden. Eine gute FFT-Software würde das Signal zuerst in ein 32-Bit-Gleitkommaformat interpolieren, sodass sich alle Artefakte unter die Auflösungsebene bewegen. Dieser verwendet offensichtlich nur die Samples ohne Interpolation. Mit einer schlechten Software können Sie nichts anfangen, sondern sie durch eine bessere ersetzen. Glücklicherweise gibt es heute keinen Mangel an Softwaretools. Sie können ein anderes FFT-Programm erhalten oder einfach eine andere Workstation anstelle von Audacity verwenden.
Es ist keine minderwertige Signalverarbeitung. Ich bin zu dem Schluss gekommen, dass, wenn die Länge jeder Periode keine ganzzahlige Anzahl von Abtastwerten ist, Geisterfrequenzen bei jedem ganzzahligen Vielfachen des GCF der Tonfrequenz und der Abtastrate bei großen FFT-Größen auftreten. Die einzigen Ausnahmen sind "quadratische" Wellenformen (alles gefolgt von sich selbst invertiert und dann das Ganze wiederholt, wie eine Rechteck- oder Dreieckswelle), wo die Geister nur bei ungeraden Harmonischen des GCF erscheinen, und eine Sinuswelle (reine Ton), wo es unabhängig von der Teilbarkeit keine Geister gibt.
Betreff: "Sie können die FFT-Größe nicht nur geringfügig ändern, da es sich um eine Zweierpotenz handeln muss." Verwenden Sie also keine FFT. FFT ist ein Algorithmus zum Berechnen einer diskreten Fourier-Transformation und erfordert zufällig eine Zweierpotenz-Anzahl von Abtastungen, aber es ist nicht der einzige Algorithmus. Es gibt mindestens eine andere , nicht ganz so schnell wie FFT, aber immer noch schnell genug, um praktisch zu sein, die für eine beliebige Anzahl von Samples funktioniert.

Ich kann nicht sicher sein, ob dies Ihre Spitzen erzeugt, aber jeder Ton, der beginnt und endet, wird nicht 100 % rein sein; Ein reiner Ton hat keinen Anfang und kein Ende. Betrachten Sie einen Ton, der bei beginnt 0 bei T = 0 , vibriert für die Zeit τ , und schaltet sich dann aus. Als Gleichung sieht das so aus:

j ( T ) = Sünde ( 2 π F T ) Θ ( τ T ) Θ ( T ) ,
Wo Θ ( X ) ist die Heaviside-Funktion (Einheitsschritt) . Integrieren wir das dagegen e ich ω T ( 2 π ) 1 / 2 , wir bekommen:
j ~ ( ω ) Sünde ( 2 π F T ) Θ ( τ T ) Θ ( T ) e ich ω T 2 π D T = 0 τ ( e ich 2 π F T e ich 2 π F T 2 ich ) e ich ω T 2 π D T = 1 2 ich 2 π [ e ich 2 π F T + ich ω T ich ( 2 π F + ω ) e ich 2 π F T + ich ω T ich ( 2 π F + ω ) ] T = 0 τ = 1 2 2 π [ e ich [ 2 π F + ω ] τ ( 2 π F + ω ) e ich [ 2 π F + ω ] τ ( 2 π F + ω ) 1 ( 2 π F + ω ) + 1 ( 2 π F + ω ) ]
Wenn F τ = N eine ganze Zahl ist, dann können wir das Obige vereinfachen zu:
j ~ ( ω ) = 2 π F ω 2 ( 2 π F ) 2 ( e ich ω τ 1 ) .

Nehmen Sie das absolute Quadrat, um etwas Proportionales zu den Leistungserträgen zu erhalten:

P j ~ j ~ = ( 2 π F ) 2 π ( ω 2 ( 2 π F ) 2 ) 2 ( 1 cos ( τ ω ) ) .

Um zu sehen, ob dies der dominierende Beitrag zu Ihren unerwünschten Obertönen ist, versuchen Sie, einen Ton zu erzeugen, der doppelt so lange und einen halb so lang anhält, und sehen Sie, wie sich das auf ihre Positionen auswirkt. Sie sollten auch mit unerwünschten Obertönen durch Sampling und Digitalisierung rechnen, obwohl ich nicht weiß, wie ich beschreiben soll, wo sie auftauchen.

Bearbeiten: Ich habe nicht bemerkt, dass Sie über eine Sägezahnwelle gesprochen haben. Wie @EmilioPisanty bemerkte, sind Sägezähne keine Sinuswellen. Der Sägezahn ist für die dominierenden Harmonischen auf der rechten Seite des Diagramms verantwortlich. Lassen Sie diese fallen (um eine reine Sinuswelle zu erhalten), und Sie erhalten etwas, das plausibel eine quadratische Lorentz- Form hat. Außerdem setzen die unerwünschten Obertöne nicht um 5 Hertz , beachten Sie den Rand eines violetten Lappens am Ende des Diagramms. Ich wette, der erste Lappen ist in der Nähe 0 Hertz , genau wie Sie es erwarten würden, wenn Sie keine ganzzahlige Anzahl von Wellenlängen in Ihrer Wellenform hätten. 0 Hertz stellt einen konstanten Netto-Offset zum Signal dar, und diese Art von Ungleichgewicht tritt auf, wenn Sie nicht die gleiche Zeit über und unter dem Gleichgewicht verbringen.

Bearbeiten: Ausgelöst durch den Kommentar von @WetSavannaAnimalakaRodVance habe ich beschlossen, meinen eigenen Tongenerator zu programmieren. Die Sägezahnwelle, die ich mit Golang erzeugt, in Text geschrieben und in Audancity importiert habe, erzeugt das gleiche Spektrum. Genau wie das von Audacity generierte Spektrum, das 5 Hertz Peak verschwindet, wenn der "Size"-Parameter auf 16384 oder niedriger reduziert wird. Ich denke, was hier vor sich geht, ist eine zusätzliche Fensterung, die durch die Erzeugung des Spektrums auferlegt wird :

Plot Spectrum nimmt das Audio in Blöcken von 'Size'-Samples auf, führt die FFT durch und mittelt alle Blöcke zusammen.

Die Fensterung bei der Generierung des Spektrums scheint jedoch hauptsächlich eine Art Grundrauschen zu beeinflussen, sodass dies nur die Spitze verschleiert. Ich kenne die Einzelheiten nicht, aber es gibt einen Hinweis darauf, die Rechteckwelle mit "Rechteckwelle, kein Aliasing" zu vergleichen. Nach der gezoomten Version zu urteilen, bei der das Klingeln offensichtlich ist, wird die "No-Aliasing"-Welle unter Verwendung einer Summe von Sinuswellen erzeugt, im Gegensatz zu dem einfachen mathematischen Algorithmus mit scharfen Cutoffs.

Der Punkt ist, dass dies wahrscheinlich ein Fall von Aliasing ist : Rechteck- und Sägezahnwellen enthalten Frequenzinformationen, die höher sind, als die Abtastrate getreu darstellen kann, und erzeugen das Audioäquivalent eines Moiré-Musters (dh einen niederfrequenten Ton / eine Schwebungsfrequenz).

Die Abtastrate von OP bei 48 kHz scheint mir viel zu hoch zu sein, als dass Abtastartefakte in diesem Bereich auftreten könnten, und dies ist dasselbe digitale Computer-Speisesignal für sich selbst, sodass es keine ADC-Artefakte geben kann. Aber abgesehen davon, kommt vielleicht Rauschen von der endlichen Präzision als "effektiver" ADC-Effekt herein? Wenn ja, kann OP dies wahrscheinlich anhand einer höheren Bitrate diagnostizieren.
Beachten Sie, dass die Spitzen alle bei Vielfachen von 5 auftreten. Kann es daran liegen, dass 48000 nicht durch 55 teilbar ist?
@ElEctric Wie lange wurde die Probe verwendet, um das Diagramm zu erstellen?
@ Sean E. Lake: 8 Sekunden.
@ElEctric hast du 4 Sekunden und 16 versucht, um zu sehen, wie sich das auf die Dinge ausgewirkt hat?
Gleiche Sache. Das Spektrogramm war unverändert
Verwenden ω Und F in der gleichen Gleichung sieht wirklich komisch aus. Ich würde empfehlen, entweder die Winkel- oder die Normalfrequenz auszuwählen und dann die Quellfrequenz und die Fourier-Transformationsfrequenz mit so etwas zu unterscheiden ω Quelle oder verwenden Ω Und ω .
@ElEctric Versuchen Sie, mit der Abtastrate ("Projektrate" in der unteren linken Ecke) und der Fenstergröße ("Größe" im Spektrum-Plotting-Tool) zu spielen. Sie werden sehen, dass diese irgendwie mit denen verwandt sind. Wahrscheinlich eine Schwebungsfrequenz zwischen Signal, Abtastrate und Analysefenstergröße.
Keine hörbaren Beats hier.
@ElEctric Sie erkennen, dass die Töne, über die Sie sich Sorgen machen, mehr als sind 55 dB von der Spitze, oder? Das ist mehr als 300.000 Mal leiser als der Gipfel. Was ich mit "Schlagfrequenz" meine, ist ein Unterschied zwischen den Frequenzen, die diesen Prozessen innewohnen. Sehen Sie, was passiert, wenn Sie die Abtastrate auf einstellen 352 , 800 Hertz , Zum Beispiel. Wenn ich Sie wäre, würde ich die Sounddatei exportieren und sie dann in Octave oder Matlab FFTen, um ein genaueres Bild zu erhalten.
Aber das ist der Punkt, wenn man keine so hohe Abtastrate einstellt. Es soll zeigen, wie der Effekt bei niedrigen (Samplerate)/(Freq)-Verhältnissen verstärkt wird.
Ich denke nicht, dass dies als vollständige Erklärung funktioniert (obwohl es definitiv eine plausible Argumentation ist, nach einer Erklärung zu suchen, und Ihre experimentellen Vorschläge gut sind): Sie beschreiben spektrale Lecks aufgrund von Fenstern; Normalerweise sieht dies wie eine Verbreiterung von Spitzen aus, und was wir hier sehen, ist eher wie eine AM-Modulation der Sägezahn-Grund- und höheren Harmonischen. Ich vermute hier, dass es möglicherweise eine Intermodulation mit etwas anderem gibt: möglicherweise mit der Netzfrequenz von 50 Hz oder 60 Hz. Sie würden Summen- und Differenzterme in den 5-Hz-Intervallen wie gezeigt erhalten: Dann erklärt Ihre Analyse, warum diese ..
... Summen- und Differenzspitzen sind breit.
@WetSavannaAnimalakaRodVance Keine Chance. Dies ist ein digital erzeugtes Signal, das dann in derselben Software, die es erzeugt hat, digital analysiert wird.
Sind Sie sich dessen absolut sicher (dh kennen Sie Audacity speziell)? Weil viele solcher Softwarepakete einige ihrer Signale entweder aus gesampelten Instrumentenklängen oder unter Verwendung einer linearen prädiktiven Codierung von nicht digital erzeugten Klängen oder anderen Mitteln erzeugen, die eine Kontamination in das digitale Modell codieren können und tun. Sibelius tut dies zum Beispiel. Wenn Sie auf die vertikale Achse schauen, sind diese Artefakte wirklich sehr subtil.
Ein Sägezahnton startet und stoppt nicht. @Safesphere hat jedoch die Antwort darauf gefunden. Wenn Sie eine DFT von 65536 Abtastwerten berechnen, analysieren Sie eine periodische Funktion, die eine unendliche Anzahl von Wiederholungen dieser genauen 65536 Abtastwerte ergibt. Aber in diesem Fall ist das nicht die Funktion, die das OP analysieren wollte, weil die Funktion, die das OP analysieren wollte, nicht genau in so viele Proben passt. Die Funktion, die das OP tatsächlich analysierte, war fast ein 55-Hz-Sägezahn, aber mit einem kleinen Fehler darin, einmal alle 1,365 Sekunden.
PS: Der Zweck der Anwendung einer Fensterfunktion vor der Berechnung einer DFT besteht darin, zu versuchen, die Sichtbarkeit der Artefakte zu reduzieren, die entstehen, wenn das Signal entweder nicht periodisch ist oder Frequenzen enthält, die keine exakten Vielfachen von sind S A M P l e R A T e / w ich N D Ö w S ich z e .

Die Sägezahnwellenform ist reich an harmonischen Inhalten und dies würde sich im Spektrum zeigen. Beachten Sie auch, dass computergenerierte Wellenformen aufgrund von algorithmischen Fehlern und D-zu-A-Umwandlungsartefakten manchmal spektral unrein sind.

Beachten Sie, dass OP sich nicht über den harmonischen Inhalt beschwert (bei 110 Hz, 165 Hz usw.), sondern über den subharmonischen Inhalt, der nicht Teil des erwarteten Sägezahnwellensignals ist. In ähnlicher Weise scheint dies die Audacity-Software zu sein, die ein digitales Signal direkt in ihren eigenen Analysator einspeist, sodass weder DAC- noch ADC-Artefakte direkt anwendbar sind.