Gammalt beräkningsprogram

Hemmapulare debatterar lämpligen i detta forum.

Moderator: Redaktörer

Neuhausen
 
Inlägg: 175
Blev medlem: 2023-07-12

Gammalt beräkningsprogram

Inläggav Neuhausen » 2023-08-28 16:20

Som jag nämnde i min presentation så skrev jag ett program för att kunna göra de mest grundläggande högtalarberäkningarna någon gång på 90 talet.

Jag provade att sätta i batterier i den Psion 3a som jag hade den sista tiden med Psion. Den startade som att det var 1995 och innehållet på minneskortet var intakt!

Efter lite pysslande så fick jag igång högtalarberäkningsprogrammet som jag skrev i början av 90 talet. När jag skrev det så hade jag inte tagit hänsyn till att upplösningen från den Serie 3 som det är skrivit för skulle öka från 240X80 till 480X160 på Serie 3a modellen som jag har i handen nu. Så allt blir väldigt smått.

Psion högtalarberäkning.jpg
Psion högtalarberäkning.jpg (995.28 KiB) Visad 728 gånger


Jag mindes bara de första stapplande stegen från när jag skrev programmet, men tydligen hade jag lagt till menyer och till och med databas för högtalarelementen. Så det ser ganska civiliserat ut! Om jag minns rätt så fanns all nödvändig information i Loudspeaker Design Cookbook av Vance Dickason.

Databasen har jag inte fått att fungera ännu, men om enheten fortsätter fungera så skall jag se om det inte går att få igång den också.

Jag vet inte hur jag skall få ut koden ur enheten, så om någon har en 3link datakabel till en Psion så skulle jag vara tacksam. Att det är RS232 är naturligtvis inte ett problem.

Användarvisningsbild
rikkitikkitavi
Good loudness
 
Inlägg: 11477
Blev medlem: 2003-07-16
Ort: somewhere nice

Re: Gammalt beräkningsprogram

Inläggav rikkitikkitavi » 2023-08-29 15:35

Awesome!
Tolvan, släng dig i väggen :)

Gillar speciellt "Digitalt Ljud System"...

Neuhausen
 
Inlägg: 175
Blev medlem: 2023-07-12

Re: Gammalt beräkningsprogram

Inläggav Neuhausen » 2023-08-31 00:39

Ja det var en annan tid då, det var nog viktigt att inte förväxla det med analogt ljud!

Under ganska lång tid så var de här handdatorerna populära bland de som anammat dem, med flera veckors batteritid så kunde man klara av en hel del pappersarbete på en dator man fick plats med i fickan. Psion bytte senare namn till Symbian och många av er har nog haft telefoner med det operativsystemet.

Programspråket OPL var ett kompilerat språk som även kunde användas i Symbian senare. En möjlighet att skriva enkla program som de här är något jag saknar på dagens telefoner.

I en tid innan internet så var det ganska praktiskt att kunna bedömma hur lämpligt ett högtalarelement var utan att ta sig till sin hem för att använda LspCAD, Som köptes via telefon och levererades på diskett. Särskilt som om man stod i en butik. Det var mycket få personer som hade möjlighet att göra några beräkningar alls, hade man tur så hade butiken en en leverantör som de kunde ringa och be räkna på en låda för något av deras element! Men det var mycket få som kunde eller ville hjälpa till med sådant.

Jag har för mig att jag mest använde den första versionen av det här programmet, det frågade bara efter Vas, Fs, Qts, avstämning och lådvolym innan det ritade en graf. Jag minns inte alls att jag gjorde ett riktigt program med riktiga menyer och allt det där jag har nu.

Användarvisningsbild
Michael
LEDaren
 
Inlägg: 5788
Blev medlem: 2005-05-18
Ort: Linköping

Re: Gammalt beräkningsprogram

Inläggav Michael » 2023-09-02 19:50

Intressant och häftigt!

Vore även kul se andras gamla alster. Hoppas det är ok i denna tråd.

Får mig att tänka på ett av de första program som jag skrev. I skolan användes Turbo Pascal till de första programmeringskurserna. Länkade listor var en sak som skulle hanteras. Tror i alla fall att det var den uppgiften som sedan växte på. Jag valde att ha en lista med högtalarelement - så klart. Beräkning av sluten och basreflexlådor, med kurvor. Läste en artikel om bandpassreflexlådor, så då kom det in i programmet. Ritade och byggde ett par stora hyperboliska horn. Då behövdes lite beräkningshjälp för att få fram arean längs hornet.

Körde nu programmet och här kommer skärmdumpar. Det verkar uppstå problem på ett par ställen. Vet inte om det är ny snabb maskin och körning under XP som ställer till det, eller eventuellt buggar - va gjorde jag buggar redan på den tiden :-)
Senaste ändringen gjordes 1990.

Bild
Bild
Bild
Bild
Bild
Bild
Bild
Bild
Bild
Bild

PS. Fick se nu att värderna för hornet är inte så rimliga. Jag bara knappade in nåt och det var ju inte alls lämpligt till det elementet.

//Michael

Användarvisningsbild
VintageHiFi
 
Inlägg: 2297
Blev medlem: 2013-09-08

Re: Gammalt beräkningsprogram

Inläggav VintageHiFi » 2023-09-02 20:29

Påminner lite om det program jag knappade ihop på en gammal 286 pc vi hade på DLS när jag jobbade där måste varit 1989 eller ev 1990.
Hade dok bara monokrom Hercules grafik att tillgå.

Formlerna fick vi från nån av leverantörerna Audax, Sinus eller Seas minns inte vilket idag.
Användes mest för att beräkna bandpass lådor som var populära då.

Neuhausen
 
Inlägg: 175
Blev medlem: 2023-07-12

Re: Gammalt beräkningsprogram

Inläggav Neuhausen » 2023-09-02 21:36

Michael skrev:Vore även kul se andras gamla alster. Hoppas det är ok i denna tråd.


Självklart är det välkommet att skriva om fler hjälpmedel. Jag hoppades att fler hade något att visa när jag skrev meddelandet.

Det skulle vara roligt med lite kod från programmen också!

Användarvisningsbild
RJohan
 
Inlägg: 1583
Blev medlem: 2007-02-11

Re: Gammalt beräkningsprogram

Inläggav RJohan » 2023-09-03 13:49

Coooolt!

Ca 1982 knappade jag på jobbet (skrivande terminal, typ teleprinter) in ett program som nog hette WOOF. Det hade publicerats i IEEEE's tidning sisådär 1972, skrivet i hederlig Fortran. Jag modifierade det så det klaraed bandpass samt, för att prova, två olika paralella baselement i olika lådor. Tyvärr finns inget kvar idag.

Användarvisningsbild
Michael
LEDaren
 
Inlägg: 5788
Blev medlem: 2005-05-18
Ort: Linköping

Re: Gammalt beräkningsprogram

Inläggav Michael » 2023-09-03 14:10

Jag tror basreflex formlerna jag använde kom från MoLT, men är inte säker. Minns det som att det utgick från sluten låda och la till port bidraget.
Kod: Markera allt
  Fs:=pekval^.Fs;
  Q:=pekval^.Qts* SQRT( pekval^.Vas /Vc +1 );
  Fc:=pekval^.Fs* SQRT( pekval^.Vas /Vc +1 );
  k:=Fc/Fs;
...
    FOR X:=50 TO 600
      DO
       BEGIN
         F:=EXP( (X-260)/160 * LN(2) );
         Yg[X]:= SQR(F) /
                 SQRT(
                        SQR( SQR(h/(F*k)) + SQR(F) -1 -h* (h+1/(7*Q)) )
                       +
                        SQR( h/F*(h/Q + 1/(7*SQR(k)) ) -F*(1/Q+h/7) )
                     );
         YdB[X]:=20*LN(Yg[X]) / LN(10);
         Y:=ROUND( (22*(3-YdB[X]) ) );
         IF Y>330 THEN Y:=-1;
         IF Y>=0 THEN PUTPIXEL(X,Y,hcolor);
       END; {FOR X}

Artikeln med bandpass kommer jag inte ihåg var den kom ifrån.
Kod: Markera allt
  REPEAT
      y:=y+1;
      V2:=V2start;
      REPEAT
          Vas2:=Vas*V1/(Vas+V1);
          Fc2:=Fs*SQRT(Vas/V1+1);
          Qtc2:=Qts*SQRT(Vas/V1+1);
          Fp:=Fc2*EXP( 0.32*LN(Vas2/V2) );
          Lp75:=23600*SQR(7.5)/(SQR(Fp)*V2)-0.74*7.5;
          Lp100:=23600*SQR(10)/(SQR(Fp)*V2)-0.74*10;
          Lp200:=23600*SQR(20)/(SQR(Fp)*V2)-0.74*20;
          GOTOXY(x,y);
          WRITE(V1:5:0,V2:5:0,Qtc2:7:3,Fp:6:1,'Hz ',Lp75:6:1,Lp100:6:1,Lp200:6:1);
          y:=y+1;
          V2:=V2+V2steg;
      UNTIL V2>V2slut;
      V1:=V1+V1steg;
  UNTIL V1>V1slut;

Hornberäkningar kom från Sören (EAI / källarn i Mozart butiken eller när han var på eget ställe). Han var hjälpsam. Svagt minne att anteckningar med formler skrevs på baksidan av nåt gammalt papper med några andra matematiska formler.
Kod: Markera allt
{___________________________Beräkning av horn parametrar____________________________}
     wl:=2*pi*Fl;               {Fl=undre gränsfrekvens}
     wc:=SQRT(2*ws*wl/Qts-SQR(wl));
     IF Fh=0
       THEN wh:=2*ws/Qts-wl     {wh beräknas för att uppnå max känslighet}
       ELSE wh:=2*pi*Fh;
     CLRSCR;
     wc:=SQRT(wl*wh);           {14}
     Qtc:=wc/(wl+wh);           {15}
     a:=SQR(wc/ws)-1;           {39}
     Vb:=Vas/a;                 {40}
     Qec:=SQRT(a+1)*Qes;        {41}
     Qlc:=2*Qtc;                {då wh=2*ws/Qts-wc}
     St:=ws*Vas*Qts/c;
                 F0:=( (a+1)*St*c)/(2*pi*Vas);
                 IF F0<Fl
                  THEN
                    BEGIN WRITELN('   "Reactance annulling" kan uppnås genom att välja Fl=',F0);
                          stop:=READKEY;
                          CLRSCR;
                    END;
     M:=wl/(wc*Qlc);
     n:=Qtc/Qlc*Qtc/(Qec-Qtc);     {27}
     Fc:=wc/(2*pi);
     Fh:=wh/(2*pi);

//Michael


Återgå till DIY-forum


Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 8 gäster