Håller på med programmering av ett enklare program för eget bruk (ej skoluppgift), men matematiken som krävs ligger lite över min kunskapsnivå. Har bett AI om hjälp, men den fepplar all-over-the-place hela tiden, så jag tänkte fråga om lite handledningshjälp i rätt riktning här, för den som har lust.
Sammanhanget är digital signalprocessning (ljud).
Jag behöver kompensera varje given frekvens (Hz) med ett visst värde (vi kan kalla det "jämkningsvärdet"), för att funktionen jag utvecklar ska fungera som den ska. Det finns ingen annan väg runt problemet, som jag ser.
Jag tog fram jämkningsvärdet för varje frekvens. Syns i listan nedan, frekvensen till vänster, jämkningsvärdet till höger.
100hz - 240
200hz - 138
300hz - 100,5
400hz - 83
500hz - 71,5
600hz - 64
700hz - 58
800hz - 54
900hz - 50,5
1000hz - 47,5
Jag har uppmätt jämkningsvärdet mellan 100-1000hz, i hopp om att det intervallet torde räcka för att klura ut potensslaget eller iaf den faktor som jämkningsvärdet utgör jämte frekvenserna. Målsättningen är att kunna tillämpa detta över hela det hörbara frekvensregistret (20Hz-20000Hz) genom att räkna ut vilken "faktor" (el dyl) som frekvensen måste beräknas genom för att få fram jämkningsvärdet programmatiskt.
Uppmätningarna av jämkningsvärdet är tämligen precis, men har avrundats något, så utrymme för varianser på +/- 2 finns. +/-3 eller mer räknas tyvärr som mycket, i min tillämpning. Så det är ganska tajt.
Enkelt uttryckt: om jag vrider på reglaget för frekvens (i GUI), så vill jag jämkningsvärdet ska beräknas - programmatiskt - utifrån frekvensen och lagras i egen variabel. Jämkningsvärdena i variabeln är alltså frekvensberoende och måste använda en potential som får dom att stämma med alla värden mellan 100hz-1000hz ovan, och i förlängningen alla andra frekvenser inom 20-20000hz.
Uttryckt i kod,ungefär såhär:
Jag är helt säker på att ingen utomstående annan faktor inverkar i uträkningen av misstag.
Här är AI loggen för den bästa av AIs förslag, som - som sagt - leder till jämkningsvärden som är rejält off, men kanske kan vara till understödande hjälp:
(Koden är EEL v2, Extensible Embeddable Language, förenklad version av C).
Tackar väldigt mycket för hjälp. Utan den här lösningen är över 14 dagars jobb förgäves.
/Marinerad (just vad man känner sig som nu).
Sammanhanget är digital signalprocessning (ljud).
Jag behöver kompensera varje given frekvens (Hz) med ett visst värde (vi kan kalla det "jämkningsvärdet"), för att funktionen jag utvecklar ska fungera som den ska. Det finns ingen annan väg runt problemet, som jag ser.
Jag tog fram jämkningsvärdet för varje frekvens. Syns i listan nedan, frekvensen till vänster, jämkningsvärdet till höger.
100hz - 240
200hz - 138
300hz - 100,5
400hz - 83
500hz - 71,5
600hz - 64
700hz - 58
800hz - 54
900hz - 50,5
1000hz - 47,5
Jag har uppmätt jämkningsvärdet mellan 100-1000hz, i hopp om att det intervallet torde räcka för att klura ut potensslaget eller iaf den faktor som jämkningsvärdet utgör jämte frekvenserna. Målsättningen är att kunna tillämpa detta över hela det hörbara frekvensregistret (20Hz-20000Hz) genom att räkna ut vilken "faktor" (el dyl) som frekvensen måste beräknas genom för att få fram jämkningsvärdet programmatiskt.
Uppmätningarna av jämkningsvärdet är tämligen precis, men har avrundats något, så utrymme för varianser på +/- 2 finns. +/-3 eller mer räknas tyvärr som mycket, i min tillämpning. Så det är ganska tajt.
Enkelt uttryckt: om jag vrider på reglaget för frekvens (i GUI), så vill jag jämkningsvärdet ska beräknas - programmatiskt - utifrån frekvensen och lagras i egen variabel. Jämkningsvärdena i variabeln är alltså frekvensberoende och måste använda en potential som får dom att stämma med alla värden mellan 100hz-1000hz ovan, och i förlängningen alla andra frekvenser inom 20-20000hz.
Uttryckt i kod,ungefär såhär:
Kod:
Problemet är att det ligger precis bortom min förmåga. AI säger sig ha hittat minst 2 olika sätt att förklara potensförhållandet på, som ska stämma väldigt rätt. Men när man tillämpar dom lösningarna AI föreslår så fungerar förvisso uträkningen, men jämkningsvärdet blir ibland upp till 50 siffror fel. När man ifrågasätter detta börjar AI sen filibustra sönder sig själv och svaren tills inget fungerar längre. Och där står jag fast. jämkningsvärde = frekvens ? potens-kalkyl; resultat = 10^(annat_värde / jämkningsvärde);
Jag är helt säker på att ingen utomstående annan faktor inverkar i uträkningen av misstag.
Här är AI loggen för den bästa av AIs förslag, som - som sagt - leder till jämkningsvärden som är rejält off, men kanske kan vara till understödande hjälp:
Kod:
Jag tror inte jag lyckas lösa det här själv, och är även förvånad hur abstrakt AI är angåenden sina egna lösningar. Skulle hemskt gärna uppskatta hjälp i vart problemet sitter eller vad som verkar gå fel här. Har AI fuckat up, eller är det översättningen till syntax som gör att det blir fel? Let me solve for k and n using logarithms: Taking the natural log of both sides: ln(jamkningsvarde) = ln(k) - n × ln(frequency) Using two well-spaced points (100Hz and 1000Hz): 100Hz: ln(240) = ln(k) - n × ln(100) 1000Hz: ln(47.5) = ln(k) - n × ln(1000) Solving: ln(240) ≈ 5.48, ln(100) ≈ 4.61 ln(47.5) ≈ 3.86, ln(1000) ≈ 6.91 From these: n ≈ 0.70, k ≈ 4750 Proposed formula: jamkningsvarde = 4750 / frequency ^ 0.7 Let me verify this against your data points: 100Hz: 4750/100^0.7 = 4750/19.95 ≈ 238 (actual: 240) 200Hz: 4750/200^0.7 = 4750/34.23 ≈ 139 (actual: 138) 400Hz: 4750/400^0.7 = 4750/58.77 ≈ 81 (actual: 83) 600Hz: 4750/600^0.7 = 4750/78.11 ≈ 61 (actual: 64) 800Hz: 4750/800^0.7 = 4750/95.59 ≈ 50 (actual: 54) 1000Hz: 4750/1000^0.7 = 4750/100.00 ≈ 48 (actual: 47.5) The fit is very close! Final implementation: jamkningsvarde = 4750 / pow(frekvens, 0.7); uträkning = 10^(annat_värde / jamkningsvarde);
(Koden är EEL v2, Extensible Embeddable Language, förenklad version av C).
Tackar väldigt mycket för hjälp. Utan den här lösningen är över 14 dagars jobb förgäves.
/Marinerad (just vad man känner sig som nu).
__________________
Senast redigerad av Marinerad65 2025-06-28 kl. 13:25.
Senast redigerad av Marinerad65 2025-06-28 kl. 13:25.
Ska testa det här nu.
, även om jag känner mig otacksam som säger att resultaten ligger överlag lite för långt bort ifrån önskade värdena mellan 100-1000hz.