MELAUDIA :: forums
Equivalents au HP de grave Altec - Version imprimable

+- MELAUDIA :: forums (https://forums.melaudia.net)
+-- Forum : espace public (https://forums.melaudia.net/forumdisplay.php?fid=10)
+--- Forum : hauts-parleurs (https://forums.melaudia.net/forumdisplay.php?fid=30)
+--- Sujet : Equivalents au HP de grave Altec (/showthread.php?tid=2932)

Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27


RE: Equivalents au HP de grave Altec - tonipe - 27/06/2022

Pour ceux qui serait intéressé :

Lancement du programme de calcul de l'image :

Code :
<?php $mma=array(); $mma[0] = floatval($fsb); $mma[1] = floatval($fb); $mma[2] = floatval($vas); $mma[3] = floatval($volbr); $mma[4] = floatval($qb); $mma[5] = floatval($qtsb); $mma[6] = floatval($vmax_aff); $mma[7] = floatval($qesb); $mma[8] = floatval($bl); ?> <p>&nbsp;</p> <div class="centrer"> <p class="gras">Courbe de déplacement de la membrane du <?php echo "$marque"; ?> <?php echo "$reference"; ?>, V<sub>B</sub> = <?php echo "$volbr_aff"; ?> L, F<sub>B</sub> = <?php echo "$fb_aff"; ?> Hz, à <?php echo "$vmax_aff"; ?> V.</p> </div> <div class="image-centrer"> <img src="../mysql_s/graph_br_mm.php?mma=<?php echo serialize($mma); ?>" alt="courbe de déplacement de la membrane bass-reflex"><br> </div> <div class="centrer"> <p>Modification des équations de calculs de la courbe de déplacement de la membrane le 26/06/2022, avec l'aide active de JMP.</p> </div>

Calcul de l'image du déplacement, après simplification de la partie calcul par rapport à hier :

Code :
<?php //Passage des valeurs de base $mma = unserialize($_GET['mma']); $fs = $mma[0]; $fb = $mma[1]; $vas = $mma[2]; $volbr = $mma[3]; $qb = $mma[4]; $qts = $mma[5]; $tension = $mma[6]; $qes = $mma[7]; $bl = $mma[8]; $limsupy = 20; $liminfy = 0; $pasy = $limsupy-$liminfy; $largeur = 800; $hauteur = 400; $originex = $largeur/20; $originey = $hauteur/20; $largeurx = $largeur-$originex; $hauteury = $hauteur-$originey; $nboctave = 5; $pointoctave = ($largeur-2*$originex)/1/$nboctave; $image = imagecreate($largeur, $hauteur); $fond = imagecolorallocate($image, 220, 220, 220); $trait = imagecolorallocate($image, 32, 32, 32); $rouge = imagecolorallocate($image, 255, 0, 0); $bleu = imagecolorallocate($image, 0, 0, 255); $gris = imagecolorallocate($image, 160, 160, 160); $noir = imagecolorallocate($image, 0, 0, 0); //Echelle $octavex = log10(320/10)/log10(2); $echellex = ($largeurx-$originex)/$octavex; $zeroy = $hauteury; $echelley = ($hauteury-$originey)/$pasy; //Traits verticaux normalisés $p1xaff = log10(10/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $noir); imagestring( $image, 3, $p1xaff, 8, "10", $noir); imagestring( $image, 3, $p1xaff, 3+$hauteury, "10", $noir); $p1xaff = log10(15/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $gris); $p1xaff = log10(20/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $noir); imagestring( $image, 3, $p1xaff, 8, "20", $noir); imagestring( $image, 3, $p1xaff, 3+$hauteury, "20", $noir); $p1xaff = log10(30/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $gris); $p1xaff = log10(40/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $gris); $p1xaff = log10(50/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $noir); imagestring( $image, 3, $p1xaff, 8, "50", $noir); imagestring( $image, 3, $p1xaff, 3+$hauteury, "50", $noir); $p1xaff = log10(60/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $gris); $p1xaff = log10(70/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $gris); $p1xaff = log10(80/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $gris); $p1xaff = log10(90/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $gris); $p1xaff = log10(100/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $noir); imagestring( $image, 3, $p1xaff, 8, "100", $noir); imagestring( $image, 3, $p1xaff, 3+$hauteury, "100", $noir); $p1xaff = log10(150/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $gris); $p1xaff = log10(200/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $noir); imagestring( $image, 3, $p1xaff, 8, "200", $noir); imagestring( $image, 3, $p1xaff, 3+$hauteury, "200", $noir); $p1xaff = log10(300/10)/log10(2)*$echellex+$originex; imageline( $image, $p1xaff, $originey, $p1xaff, $hauteury, $gris); imagestring( $image, 3, $p1xaff, 8, "Hz", $noir); imagestring( $image, 3, $p1xaff, 3+$hauteury, "Hz", $noir); //traits horizontaux $mmdebut = $limsupy; $pash = ($originey-$hauteury)/$pasy; $i = 0; $mm = $mmdebut; while ($i <= $pasy) { if ($mm == 30 or $mm == 25 or $mm == 20 or $mm == 15 or $mm == 10 or $mm == 5 or $mm == 0) { imageline( $image, $originex, $originey-$i*$pash, $largeurx, $originey-$i*$pash, $noir); if ($mm <> 5) { imagestring( $image, 3, $originex-22, $originey-$i*$pash-5, $mm, $noir); } else { imagestring( $image, 3, $originex-33, $originey-$i*$pash-5, "5 mm", $noir); imagestring( $image, 3, $largeurx+5, $originey-$i*$pash-5, "5 mm", $noir); } } else { imageline( $image, $originex, $originey-$i*$pash, $largeurx, $originey-$i*$pash, $gris); } $i++; $mm = $mm-1; } $f = 10; // Courbe de déplacement JMP $h = $fb/$fs ; $a = $vas/$volbr ; $fo = sqrt($fs/$fb) ; $a1 = 1/$qb/sqrt($h)+sqrt($h)/$qts ; $a2 = ($a+1)/$h+$h+1/$qb/$qts ; $a3 = 1/$qts/sqrt($h)+sqrt($h)/$qb ; $p1x = $f; $f = $f*pow(2,1/$pointoctave) ; $i = 0; while($f <= 320) { // Courbe de déplacement JMP $com = $tension*sqrt(2)/$bl/2/M_PI/$fs/$qes ; $num = sqrt(pow(1-pow($f/$fb,2),2)+pow(1/$qb*$f/$fb,2)) ; $denom = sqrt(pow((1-$a2*pow($f/$fo,2)+pow($f/$fo,4)),2)+pow(($a1*($f/$fo)-$a3*pow($f/$fo,3)),2)) ; $p2y = 1000000000*$com*$num/$denom ; $p2x = $f; $p1xaff = log10($p1x/10)/log10(2)*$echellex+$originex; $p2xaff = log10($p2x/10)/log10(2)*$echellex+$originex; $p1yaff = $zeroy-$p1y*$echelley; $p2yaff = $zeroy-$p2y*$echelley; if ($i > 1){imageline( $image, $p1xaff, $p1yaff, $p2xaff, $p2yaff, $rouge);} $p1x = $p2x; $p1y = $p2y; $f = $f*pow(2,1/$pointoctave) ; $i = $i+1; } header("content-type: image/png"); imagepng($image); imagedestroy($image); ?>

L'intérêt du PHP est qu'une fois la mise à jour faite sur le serveur, tout le monde en profite sans avoir à installer une nouvelle version...

J'ai une question précise pour Jean-Marc :
Il faut utiliser :
QL compris entre 10 et 20, 10 dans votre exemple.
ou
QB = 1/(1/QA+1/QL+1/QP+1/QA/QL/QP) (en pratique 7 environ).


RE: Equivalents au HP de grave Altec - jimbee - 27/06/2022

(26/06/2022-18:02:54)tonipe a écrit : La nouvelle courbe de déplacement est calculée, j'ai encore des vérifications à faire, mais cela me semble juste.
La suite demain.
 

 Ben, comparez votre résultat ( à 27 V) avec le calcul mathcad de Jean-Marc ( à 10 V),
forcément, ya encore un blème, amha.

[Image: 0u4h.jpg]



RE: Equivalents au HP de grave Altec - tonipe - 27/06/2022

On commence par les valeurs de calculs : Fs, Fb, Vas, Vb, Ql, Qts, tension, Qes et BL ?
Fs = 19 Hz
Fb = 40.1 Hz
Vas = 1094 L
Vb = 196.8 L
Ql = 10
Qts = 0.167
tension = 27.52 V
Qes = 0.178
BL = 15.552 N/A


RE: Equivalents au HP de grave Altec - tonipe - 27/06/2022

Une erreur trouvée :
J'avais écrit fo = racine(fs/fb) alors que c'étais fo = racine(fs*fb)
Ce sont souvent les erreurs les plus simples qui sont les plus difficile à trouver, ceux qui ont programmés me comprendront.
Autre conséquence, le 1000000000 passe à 1000, ce qui est idéal pour passer des m en mm !!!

[Image: b15mkii-5.png]


RE: Equivalents au HP de grave Altec - jys - 27/06/2022

Ouf, ça se décoince...merci Jean-Marc !


RE: Equivalents au HP de grave Altec - jimbee - 27/06/2022

(27/06/2022-14:50:20)jys a écrit : merci Jean-Marc !

[Image: ordre-palmes-academiques-PAC-zoom.jpg]


RE: Equivalents au HP de grave Altec - JM Plantefeve - 27/06/2022

Bonsoir Jimbee,

Penses-tu que M. Pap Ndiaye lise le forum de Melaudia ? hihi !

Jean-Marc.


RE: Equivalents au HP de grave Altec - JM Plantefeve - 27/06/2022

(27/06/2022-14:44:54)tonipe a écrit : J'avais écrit fo = racine(fs/fb) alors que c'étais fo = racine(fs*fb)
fo, aussi la fréquence caractéristique de la réponse SPL d'un alignement bass-reflex.

   


RE: Equivalents au HP de grave Altec - tonipe - 28/06/2022

Pour en revenir à notre discussion de départ, avec le déplacement maxi au dessus de FB dans 197 L, accord à 40 Hz, QL = 10.
B15 MKII : +/-0.32 mm.
15MB606 : +/-0.25 mm.
La différence existe, est-elle significative ? Est-ce un critère de comparaison à conserver ?

Quel est le sens de la valeur Fo=racine(Fs*Fb), la fréquence caractéristique du bass-reflex ?


RE: Equivalents au HP de grave Altec - jimbee - 28/06/2022

(28/06/2022-08:45:12)tonipe a écrit : Pour en revenir à notre discussion de départ, avec le déplacement maxi au dessus de FB dans 197 L, accord à 40 Hz, QL = 10.
B15 MKII : +/-0.32 mm.
15MB606 : +/-0.25 mm.
La différence existe, est-elle significative ? Est-ce un critère de comparaison à conserver ?

Quel est le sens de la valeur Fo=racine(Fs*Fb), la fréquence caractéristique du bass-reflex ?

Selon Mr Grosso et Modo:
Après alignement ( au mieux, les deux accords br n'étant pas identiques à tous poins de vue)
des niveaux spl fournis par les 2 hp dans la bande 55 - 60 Hz
la différence de déplacement n'est que de 7% ( selon WinISD ) dont 6% est logiquement lié au rapport de surfaces
800 vs 850 cm^2.

[Image: rri7.jpg]