Spectrum analyzer

In het kort:
Applicatie voor het definiëren en analyseren van een scheidingsfilter voor een meerwegs luidsprekersysteem.

  • Ingebouwde toongenerator, frequency sweep en witte ruis generator
  • Twee kanaals oscilloscoop met functies voor signaal synchronisatie, normalisatie en spike onderdrukking
  • Registreren van output van het gemeten systeem door middel van dubbele microfoon invoer en registratie met behulp van de oscilloscoop
  • Opslaan van samples, en analyse van meerdere gerelateerde samplesets met behulp van een ingebouwde spectrum analyzer
  • Automatisch berekenen van bijsturingen voor het scheidingsfilter op basis van de spectrum analyse.
 

spectrumanalyzer1

Technologie: Visual Basic, C, XML   Platform: Windows   Jaartal: 2004


Ik ben naast programmeren ook gek op muziek.
In mijn jeugd heb ik orgel, accordeon, gitaar en drum gespeeld, en bij bands en discotheken het geluid verzorgd.
Ik heb zelfs nog een officiële opleiding tot geluidstechnicus afgerond bij de RBS studio's in Rotterdam.

Luisteren naar goede muziek doe ik met veel plezier, maar dan uitsluitend mits het geluid optimaal is. Daarom ben ik ook altijd in de weer geweest met de bouw van versterkers en luidsprekers, en met andere high end hifi apparatuur, zowel van bekende merken als zelf gebouwde systemen.

Op een gegeven moment besloot ik zelf een paar drie weg luidsprekers te bouwen, oftewel met een aparte bas, midden- en hoge tonen luidspreker.
De geluidskwaliteit van een dergelijk systeem hangt naast de gebruikte componenten en de kast tevens erg af van het scheidingsfilter. Dat moet ervoor zorgen dat iedere luidspreker het juiste deel van het geluidsspectrum krijgt, waarbij de optelling ervan een keurig evenwichtig totaal plaatje wordt. Klinkt eenvoudig, maar is een zeer complexe toestand, waarbij enerzijds subjectieve klank belevenis meespeelt (oftewel: zelf luisteren) en anderzijds objectieve (oftewel: meten is weten).

spectrumanalyzer2En voor dat laatste heb je toongenerators, een microfoon en een spectrum analyzer nodig, waarbij je de uitkomst van de metingen liefst automatisch wilt laten registreren en compenseren.

Een goede microfoon had ik wel, en voor de rest kon ik natuurlijk programmeren. Dus dan klus je het zelf in elkaar, toch?
Het werd uiteindelijk een applicatie in VB, gecombineerd met C voor de audio analyse en XML voor de opslag van de gegevens.

De applicatie genereerde allerlei testsignalen en stuurde die via de PC audio uitgang naar mijn versterker, en kreeg vervolgens de door een microfoon opgenomen output van mijn luidsprekers weer als invoer terug. Die werd vastgelegd en genormaliseerd, waarna een spectrum analyse werd uitgevoerd en live een grafiek werd gegenereerd van de totale toonbalans en de laag, midden en hoog componenten. Op basis daarvan werd een correctie voor het scheidingsfilter berekend.

Afijn, het werd dus een hele klus, maar uiteindelijk heb ik er veel van geleerd en een paar goede luidsprekers aan over gehouden. Waarschijnlijk was het – als je de uren meetelt – stukken goedkoper geweest als ik een paar high end luidsprekers van een duur merk had gekocht, maar dan had ik er niet zoveel voldoening van gehad. En daarvoor is het je hobby, nietwaar?