Tenker å utvikle program for høyttalerdesign - forslag?

Sponsorer:
Takk Takk:  0
Like Like:  0
Side 1 av 2 1 2 SisteSiste
Viser resultater 1 til 20 av 29
  1. #1
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)

    Tenker å utvikle program for høyttalerdesign - forslag?

    Som det fremgår av topic, så går jeg altså med tanker om å utvikle et program for design av høyttalerkasser. Dette fordi jeg synes det er litt mangel på skikkelig god og fremfor alt BILLIG programvare til dette bruket. Mye er også svært utdatert.

    Jeg satser derfor friskt på et nytt og moderne system skrevet i C# (.Net) med alt som trengs for å beregne høyttalerkasser m.m. I denne anledning så vil jeg gjerne ha innspill fra dere om hva dere ønsker dere, hva dere synes er bra/dårlig med andre alternativer, osv.

    Hva jeg har planlagt så langt:
    - Database for høyttalerelementer (SQLite, XML eller noe annet)
    - Prosjektorientert funksjonalitet (man oppretter "prosjekter")
    - Importering/eksportering av element-data fra andre programmer

    Nå er det deres tur, hva ønsker dere i et slikt program?

  2. #2
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Som en begynnelse så kan jeg jo etterspørre hvilke data som er relevante for element-databasen. Her er hva jeg har så langt:

    Impedans
    Frekvensområde +/-3db (for simuleringer)
    Wattstyrke (ikke relevant kanskje, men greit å vite)
    Følsomhet
    Fluxtetthet
    Xmax
    Vekt
    Talespoleresistans
    Talespoleinduktans
    Force factor (kraftfaktor?)
    Resonansfrekvens
    Air load mass (?)
    Suspension compliance (?)
    Suspension mechanical resistance (?)
    VAS
    QMS
    QES
    QTS
    Membranareal (piston area)
    Moving mass

    Noen andre forslag til hva som vil være relevant?

  3. #3
    Guru Snickers-is sin avatar
    Medlem siden
    Nov 2003
    Poster
    11,171
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Hei!

    Dette er meget interessant! Har du noen anelse om hvor omfattende det er?

  4. #4
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Mja, egentlig ikke, men i all hovedsak tror jeg det vil gå ut på følgende typiske use-case:

    1. Hente ut element fra database
    2. Velge kasseprinsipp
    3. Slenge opp vindu med blanke simuleringsskjema(er)
    4. Regulere eventuelle parametre til kasse (f.eks. volum, portlengde(r), portavstemning(er), demping/ikke demping, osv osv)
    5. Generere/simulere og tegne graf

    Utover det så vil det kunne bygges på masse utvidelser i form av sammenligninger (tegne grafer for flere elemter i samme kasse), litt "avanserte" simuleringer (educated guessing), og diverse annet dill.

    Bottom line så går det i verste fall ut på forholdsvis statisk matematikk som ikke er så alt for vanskelig å implementere i et programmeringsspråk som C#, og litt grafiske utfordringer.

    Dessverre har jeg generelt ikke så veldig peiling på hvordan slike program fungerer (har bare såvidt prøvd et gammalt finsk et), så jeg trenger hjelp til å finne ut hvordan (og når) ting skal skje i et slikt program )

  5. #5
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Har samlet dataene nå, og komt frem til følgende klassestruktur for et høyttalerelement:

    Kode:
    public class Loudspeaker
    {
    	string manufacturer, model, comment;
    	float impedance, maximumLoad, nominalLoad, sensitivity, weight, forceFactor, resonanceFrequency, movingMass, equivalentAirVolume,Qms, Qes, Qts;
    	Voicecoil voicecoil;
    	Membrane membrane;
    }
    
    class Voicecoil 
    {
    	float diameter, height, xmax, inductance, resistance, fluxDensity;
    	int layers;
    }
    
    class Membrane 
    {
    	float diameter, area;
    }
    Noen innspill på dette?

  6. #6
    Guru Snickers-is sin avatar
    Medlem siden
    Nov 2003
    Poster
    11,171
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Vet du forresten hvordan andre har løst det mht filtyper, simuleringsmodeller osv?

  7. #7
    Moderator roffe sin avatar
    Medlem siden
    Apr 2003
    Poster
    9,330
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)

    Re: Tenker å utvikle program for høyttalerdesign - forslag?

    Sitat Opprinnelig postet av oracel
    Som det fremgår av topic, så går jeg altså med tanker om å utvikle et program for design av høyttalerkasser. Dette fordi jeg synes det er litt mangel på skikkelig god og fremfor alt BILLIG programvare til dette bruket. Mye er også svært utdatert.
    Ja, dette er frisk satsning!
    Går ut fra at du har tittet på WinISD, både i vanlig og PRO-versjonen (som ennå er i alpha). For de som vil gjøre målinger via programmet finnes også Speaker Workshop, men der skjer det ikke så mye nyutvikling, later det til, og brukerterskelen er høy. Er usikker på hva du ønsker å legge til i forhold til disse programmene. De har alt du lister (Hente ut element fra database, Velge kasseprinsipp, Vindu med simuleringsskjema, Regulere eventuelle parametre til kasse (f.eks. volum, portlengde(r), portavstemning(er)),Generere/simulere og tegne grafer). Spesielt WinISD er etter min mening et godt program for å gjøre de initielle simuleringene for kabinetter. Ikke så fryktelig sofistikert, men gir raske svar som gjør det enkelt å finne de grunnleggende egenskapene for et element i ulike kabinetter.

    Hvis det er noe jeg savner, så er det gode, rimelige verktøy for å beregne og simulere passive filter- og korrigeringsnettverk. Men det er et ganske komplisert område å begi seg ut på...

  8. #8
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Sitat Opprinnelig postet av Snickers-is
    Vet du forresten hvordan andre har løst det mht filtyper, simuleringsmodeller osv?
    Jeg har en viss idé, ja. Uansett vil den utvilsomt beste fremgangsmåten her være å jobbe med objekter, og utvikle hensiktsmessige grensesnitt på disse.

    Sitat Opprinnelig postet av Roffe
    Er usikker på hva du ønsker å legge til i forhold til disse programmene.
    I korte trekk: programmet jeg jobber med skal bli bedre, mer modulært, enklere og mer naturlig å bruke osv. Sett inn diverse buzz-words her


    Sitat Opprinnelig postet av Roffe
    Hvis det er noe jeg savner, så er det gode, rimelige verktøy for å beregne og simulere passive filter- og korrigeringsnettverk. Men det er et ganske komplisert område å begi seg ut på...
    Komplisert er det ja, men fremstilt i et programmeringsspråk stiller ting seg ganske annerledes enn på papir. Man skriver en funksjon for algoritmen (formelen) en eneste gang, deretter er det tut og kjør! Plotting av eventuell output (til grafer) er også piece of cake hvis man klarer å implementere algoritmen riktig.

    Deretter kommer småjusteringer/korrigeringer osv.

    Jeg har pratet såvidt med Snickers-is på telefon nå, og her myldrer det av gode ideer til dette programmet! Med slik ekspertise på laget kan det umulig slå feil

  9. #9
    Moderator roffe sin avatar
    Medlem siden
    Apr 2003
    Poster
    9,330
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Sitat Opprinnelig postet av oracel
    Komplisert er det ja, men fremstilt i et programmeringsspråk stiller ting seg ganske annerledes enn på papir. Man skriver en funksjon for algoritmen (formelen) en eneste gang, deretter er det tut og kjør! Plotting av eventuell output (til grafer) er også piece of cake hvis man klarer å implementere algoritmen riktig.
    Jobber med programmering til daglig, så jeg vet hva du snakker om. Utfordringen er å ta høyde for alle de morsomme kombinasjonene av parametre en bruker kan finne på å gi som input til systemet. Mye er avhengig av hvor mange frihetsgrader du vil gi brukeren.

    Det er ikke så vanskelig å lage programmet. Utfordringen er som ved alt arbeid at det tar tid å utvikle, og enda mer tid å finne og rette feil og svakheter. Jeg ønsker deg lykke til, og hvis du legger ned nok innsats i dette så når du sikkert målet!

  10. #10
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Har gjort ferdig klasser og rutiner for å åpne/modifisere/lagre en database med høyttalerelementer. Tenkte jeg nå skulle gå igang med det samme for importering og eksportering. I den anledning hadde det vært flott hvis dere kunne sendt meg eksempelvise filer fra andre lignende programmer. Da altså filene som inneholder informasjon om høyttalerelementene. Disse kan sendes på epost til oracel@nsn.no

    På forhånd tusen hjertelig!

  11. #11
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Her er noen skjermbilder, alt dere ser her fungerer sånn noenlunde.







    edit: herreknut så vanskelig dette skulle være da :?

  12. #12
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Her er et nytt skjermbilde, grensesnittet har blitt redesignet på grunnlag av tilbakemeldinger på de første skjermbildene. Debug-vinduet er der bare for min egen del, og kommer ikke til å bli en del av programmet.


  13. #13
    Moderator roffe sin avatar
    Medlem siden
    Apr 2003
    Poster
    9,330
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Ser ut som en lovende start, det der. Det ligner faktisk en god del på WinISD Pro (alpha) fra danske Linearteam (link).

    En utfordring du sikkert kommer til å støte på etterhvert er parametervalidering. I PRO-versjonen av WinISD har de nå innført streng parametervalidering. Det vil si at dersom det ikke er 100% samsvar mellom verdier som er spesifisert manuelt (for noen av verdiene kan regnes ut fra andre verdier), så nektes brukeren å lagre parameterne.

    Jeg synes det er en litt for streng tilnærming til problemet. Jeg synes at man skal stole på verdiene brukeren gir inn, og hvis en parameter er gitt inn fra brukeren, så benyttes den i de relevante utregningene.

    Det KAN likevel være en god ide å presentere avvik for brukeren , slik at ting kan korrigeres. Et eksempel er Qts som kan regnes ut fra Qes og Qms:
    Kode:
    Qts= Qms*Qes/(Qms+Qes)
    Hvis brukeren inngir en Qts som avviker kan du jo gi en advarsel, som f.eks. "You have specified a Qts of 0.28. Calculated Qts from Qes and Qms parameters is 0.2657. You may want to check Qts, Qes or Qms for possible errors."

  14. #14
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Ja, jeg tenkte faktisk på dette igår mens jeg satt og implementerte en litt mer "basic" validering. Tanken er da at programmet gir lyd fra seg først hvis verdiene avviker med kanskje 5-10%, men at det likevel skal gå an å "tvinge" inn sine egne verdier. Legg merke til at man normalt vil taste inn Qms og Qes før man taster inn Qts, programmet vil da regne ut et forslag til Qts automatisk, så kan man heller velge om man vil taste inn noe annet ) Kommer tilbake med mer senere idag!

  15. #15
    Moderator roffe sin avatar
    Medlem siden
    Apr 2003
    Poster
    9,330
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Sitat Opprinnelig postet av oracel
    Ja, jeg tenkte faktisk på dette igår mens jeg satt og implementerte en litt mer "basic" validering. Tanken er da at programmet gir lyd fra seg først hvis verdiene avviker med kanskje 5-10%, men at det likevel skal gå an å "tvinge" inn sine egne verdier. Legg merke til at man normalt vil taste inn Qms og Qes før man taster inn Qts, programmet vil da regne ut et forslag til Qts automatisk, så kan man heller velge om man vil taste inn noe annet ) Kommer tilbake med mer senere idag!
    Husk også på at brukere ikke alltid jobber i samme mønster som vi utviklere liker at de skal.
    Det er svært sannsynlig at en bruker legger inn verdier i den rekkefølgen han/hun finner dem på et produktark, og da blir det fort slik at Qts fylles ut før Qes og Qms. Hva gjør du da?

    Og så har vi problematikken med måleenheter, men det bør du kanskje vente med til versjon 2? Det som er viktig nå i forbindelse med oppbygging av databasen er at du "låser" standard måleenhet for de lagrede verdiene. Eventuell omregning til/fra GUI kan du evt. ta senere. Du KAN lage et system hvor du lagrer tall med en egen kolonne for måleenhet, men da får du mye jobb med konvertering også når du skal gjøre beregninger. Jeg vil som sagt anbefale at du holder deg til standard måleenheter i database og i beregninger (formler), og at eventuelle konverteringer gjøres kun mot data inn til/ut fra GUI.

  16. #16
    Moderator roffe sin avatar
    Medlem siden
    Apr 2003
    Poster
    9,330
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    En annen feature jeg kunne tenkt meg er enkle verktøy for kassedesign. WinISD har dette for ren rektangulær kasse, samt en enkel trapesform. Det holder sikkert. Begrensningene i WinISD er at dimensjonene beregnes flott ut fra kassens volum, men der stopper verktøyet.
    Det som hadde vært interessant hadde vært å beregnet eventuelle kasseressonnansfrekvenser ut fra de spesifiserte dimensjonene.

    Ser at du også har ambisjoner om å ha med demping av kassa. Det er interessant, og klarer du å gi inn dette som parametre, og ikke minst beregne hvilken effekt det vil ha på frekvensrespons og kasseressonnanser, så tror jeg du har en vinner.

    Dette er imidlertid ikke så rett fram, spesielt for bassreflekskasser som gjerne dempes mest langs veggene. Tror det er litt enklere for lukkede kasser...

  17. #17
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    (Alle tallverdier og eksempler i denne posten er fullstendig fiktive, og representerer ikke nødvendigvis et realistisk scenario. De blir bare brukt for illustrasjonsformål)

    Når det gjelder inntasting av verdier, så vil eventuelle fancy fasiliteter for auto-utfylling av andre felt bare finne sted hvis det lar seg gjøre. Fyller man ut i feil rekkefølge e.l, så skjer det ingenting. Så får det være opp til brukeren hva han/hun velger å gjøre.

    Alle verdier blir lagret på vanlig metrisk form i databasen, eventuell konvertering vil skje i GUI, og ved eventuell eksportering til formater som ikke bruker standard metriske verdier.

    Beregning av kassestørrelser burde gå greit. Tror nok dog ikke det vil være hensiktsmessig for dette programmet å bevege seg utover rektangulære former, da får man heller benytte Autocad e.l programmer som egner seg bedre til slikt. Men hvis man sier at en kasse alltid består av tre flater (topp/bunn, side/side, frem/bak), så har man en ligning med 3 ukjente (hvis volumet er kjent). Dermed vil det være en smal sak å beregne alle flatestykkene. F.eks. kan man si at en kasse på 60 liter skal bygges med 19mm plater, og fremsiden skal være 40 cm bred. Dermed vil det være enkelt å regne ut forslag til de andre sidene, og deretter kan man justere selv. Bottom line så vil man få eksakte mål på platene (med høyde for platetykkelse) som må kuttes opp, forutsatt at kassen er rektangulær.

    Når det gjelder simulering, så var du inne på to tilfeller. Det ene var formen på kassa. Jeg skrev et innlegg for en tid tilbake der jeg etterspurte effekten av forskjellige geometriske former på kassa, men jeg mener å huske at jeg fikk til svar at det ikke hadde noe å si. Men hvis det likevel skulle vise seg at geometrien påvirker lyden, så er det uansett bare en måte å simulere dette på, nemlig ved at man legger frem visse forutsetninger (eksempel: "hvis kassa er rektangulær, så vil man få en økning på ca. 0.3dB i området 100-300Hz") og deretter anvender disse forutsetningene på utregningene.

    Det samme vil antakelig gjelde for demping av kassa, man vil enten ha en konstant som påvirker den eksisterende funksjonen eller utfallet, eller en funksjon som påvirker den eksisterende funksjonen for å modifisere utfallet, eller som modifiserer utfallet i seg selv. F.eks. er det nærliggende å tro at tung demping i et lukket kabinett øker det "synlige" volumet for elementet med ca. 25%, mens man i motsatt ende nok kan regne med at veggdemping i reflekskasser vil dempe refleksjoner og dermed minske nivået 500-700Hz med ca. 0.7dB.

    Uansett så vil det meste av slike ting basere seg på at man gjør seg opp visse forutsetninger, og deretter bare anvender en "educated guess" basert på disse forutsetningene. Hvor komplekse disse forutsetningene kan bli, er derimot et ubesvart spørsmål, inntil videre ;o)

    Men for å oversette dette til arkitekturen innvendig i programmet, så vil hver slik "modifiserende forutsetning" bli representert som et objekt som enten tar et signal inn som parameter og modifiserer dette basert på hva forutsetningen er, eller at objektet modifiserer variabler som blir brukt for å generere signalet (basert på hva forutsetningen er).

    Planen er her at man kan få til et "plug and play" system som gjør det enkelt og greit å skrive nye moduler, og anvende disse.

    Eksempler på moduler er delefilter (aktive/passive, 1-4 ordens, div. karakteristikker, med tilhørende faseforskyvning), impedanskorrigerende ledd, dempeledd, baffel-forhold, og sikkert haugevis andre andre ting.

  18. #18
    Moderator roffe sin avatar
    Medlem siden
    Apr 2003
    Poster
    9,330
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Sitat Opprinnelig postet av oracel
    Jeg skrev et innlegg for en tid tilbake der jeg etterspurte effekten av forskjellige geometriske former på kassa, men jeg mener å huske at jeg fikk til svar at det ikke hadde noe å si. Men hvis det likevel skulle vise seg at geometrien påvirker lyden, så er det uansett bare en måte å simulere dette på, nemlig ved at man legger frem visse forutsetninger (eksempel: "hvis kassa er rektangulær, så vil man få en økning på ca. 0.3dB i området 100-300Hz") og deretter anvender disse forutsetningene på utregningene.
    Det har ikke noe særlig å si i en subwooferkasse, fordi de indre ressonnansfrekvensene ofte ligger høyere enn subbassområdet. Men for fullfrekvente høyttalere har det mer betydning.

  19. #19
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Aight, i alle tilfeller vil nok det gå fint an å simulere, det også ;o)

    Det jeg lurer på nå er hvilken litteratur jeg bør satse på som går dypt i detalj rundt dette emnet (beregning/(simulering)). Noen som har noen gode stalltips?

  20. #20
    Newcomer
    Medlem siden
    May 2004
    Poster
    40
    Takk & like
    Nevnt
    0 post(er)
    AVtorget feedback
    0
    (0% positive tilbakemeldinger)
    Et utkast til kasse-designeren (skal lage en finere tegning senere):


Side 1 av 2 1 2 SisteSiste

Stikkord for denne tråden

Regler for innlegg

  • Du kan ikke starte nye tråder
  • Du kan ikke svare på innlegg / tråder
  • Du kan ikke laste opp vedlegg
  • Du kan ikke redigere meldingene dine
  •