Equivalents au HP de grave Altec
RE: Equivalents au HP de grave Altec
(24/06/2022-17:11:45)Ragnarsson a écrit : Ah c'est sûr si le PHP ne gère pas les nombres complexes, c'est mal parti pour faire des calculs en électro-acoustique.
Ah,
https://github.com/MarkBaker/PHPComplexShy

Jean-Michel
Platine lourde Nantex/plomb/Paulstra - Sheu 80mm - Clone SME 3012 I - DL103 PRO - Porte cellule bakelite Ortofon - Sonore microRendu - Dac Naim V1 - Lecteur CD Naim CD5 XS - Kaneda 210 alim Degawa - Filtre LCR MDA - Kaneda N° 167 - 2 K209+ Grand_Floyd - Petite Onken - Clone Ledauphin - TAD 2001 - Fostex T900A - 2402 - Mogami
Répondre
RE: Equivalents au HP de grave Altec
(23/06/2022-07:20:13)tonipe a écrit : Ma fonction "élongation est" :
<?php
  function elongation($f, $fs, $fb, $vas, $volbr, $qb, $qts, $tension, $qes, $bl, $qa, $ql, $qp)
  {...}
?>
Quelle source as-tu utilisée pour cette traduction php ?

(24/06/2022-09:16:16)tonipe a écrit : Jean-Marc :
Votre modèle de calcul est dans votre lien : http://jm.plantefeve.pagesperso-orange.fr/simul-hp.html
Ce modèle utilise les nombres complexe, qui n'existent pas dans mes outils de calculs en PHP.
Il est certainement possible de passer avec 2 équations, une pour la partie réelle, une pour la partie imaginaire.
Actuellement, je bute pour faire cette transformation.
Deux équations, une pour la partie réelle Re, une pour la partie imaginaire Im. Pour calculer le module sqrt(Re²+Im²).
Sacrée gageure sur une expression complexe aussi lourde que celle du déplacement membrane en bass-reflex.

(24/06/2022-09:16:16)tonipe a écrit : Pouvez vous m'aider sur l'exemple de la courbe de déplacement de la membrane, qui est notre sujet ?
Je n'ai ni le temps ni l'envie de travailler "à la main" ce que Mathcad, LT Spice, ou plus spécifiquement WinIsd offrent directement.
Uniquement, simplement, pour Dôme acoustique.

Jean-Marc.
Répondre
RE: Equivalents au HP de grave Altec
C'est une source ancienne, je ne me rappelle plus laquelle.

Internet est une aide, j'ai créé et vérifié un certain nombre de fonctions sur les nombre complexe.
Pour chaque opération, la fonction retourne la partie imaginaire et réelle.

<?php
function complexe_div($a, $b, $x, $y)
{
$reel = ($a*$x+$b*$y)/(pow($x,2)+pow($y,2));
$img = ($b*$x-$a*$y)/(pow($x,2)+pow($y,2));
return array ($reel, $img);
}
?>

<?php
function complexe_inv($x, $y)
{
$reel = ($x)/(pow($x,2)+pow($y,2));
$img = (-$y)/(pow($x,2)+pow($y,2));
return array ($reel, $img);
}
?>

<?php
function complexe_produit($a, $b, $x, $y)
{
$reel = ($a*$x)-($b*$y);
$img = ($b*$x+$a*$y);
return array ($reel, $img);
}
?>

<?php
function complexe_somme($a, $b, $x, $y)
{
$reel = ($a+$x);
$img = ($b+$y);
return array ($reel, $img);
}
?>

<?php
function complexe_diff($a, $b, $x, $y)
{
$reel = ($a-$x);
$img = ($b-$y);
return array ($reel, $img);
}
?>

Il ne reste qu'a reprendre votre équation, et la transformer en une suite d'opérations simples.
Je vais essayer, et j'indiquerai mes problèmes pour essayer d'avoir une solution.
Dites vous bien que ce n'est ni pour moi, ni pour "Dôme acoustique" qui n'est qu'un support, mais c'est pour tout les utilisateurs des outils de calculs qui vont sur Dôme Acoustique.
Répondre
RE: Equivalents au HP de grave Altec
(25/06/2022-09:12:39)tonipe a écrit : C'est une source ancienne, je ne me rappelle plus laquelle
C'est aussi ce que tu expliques aux utilisateurs qui se plantent grâce à toi ?
(25/06/2022-09:12:39)tonipe a écrit : Il ne reste qu'a reprendre votre équation, et la transformer en une suite d'opérations simples.
Cela laisse présager une drôle de charcuterie.
(25/06/2022-09:12:39)tonipe a écrit : Dites vous bien que ce n'est ni pour moi, ni pour "Dôme acoustique" qui n'est qu'un support, mais c'est pour tout les utilisateurs des outils de calculs qui vont sur Dôme Acoustique.
Je leur conseille d'autres outils assurément viables, tels que WinIsd et VituixCad.

Jean-Marc.
Répondre
RE: Equivalents au HP de grave Altec
https://audiojudgement.com/bass-reflex-a...explained/


Let’s do a real world example, for an 8″ woofer with the following specs :

10. Lv = [(14630000 * 4) / (1454.66 * 2433.63)] – (1.463 * 2) = (58520000 / 3540103.24) – 2.93 = 16.53 – 2.93 = 13.6″


Bonjour,
concernant ce calcul dans le lien : n’y aurait il pas une (très) légère erreur ?
Répondre
RE: Equivalents au HP de grave Altec
(24/06/2022-09:16:16)tonipe a écrit : Pouvez vous m'aider sur l'exemple de la courbe de déplacement de la membrane, qui est notre sujet ?
Pluie cet après-midi à Roncq, et encore une belle agilité sous MathCad... Impression pdf jointe.
  • xd(f) : expression complexe du déplacement membrane. Tirée de l'excellent livre de Leach : https://leachlegacy.ece.gatech.edu/audiotext/ . Le tracé doit être celui du module |xd(f)|.
  • xm(f) : ma formulation du module à partir de la méthode sqrt(Re²+Im²). Le tracé peut alors directement être xm(f). C'est cette formulation sans opérateur complexe que je te propose.
Superposition entre xd(f) et xm(f) puis comparaison avec WinIsd semblent valider cette écriture.

Jean-Marc.


Pièces jointes
.pdf   Xd.pdf (Taille : 667,58 Ko / Téléchargements : 109)
Répondre
RE: Equivalents au HP de grave Altec
Jean-Marc, je vous remercie sincèrement.
Je programme ça dans l'après midi, et je mets ici le résultat.
Si vous le souhaitez, j'ajouterai votre nom, ou vos initiales, sous la courbe, pour citer mes sources.
Répondre
RE: Equivalents au HP de grave Altec
La nouvelle courbe de déplacement est calculée, j'ai encore des vérifications à faire, mais cela me semble juste.
La suite demain.
Ce qui avait déclenché cette mise à jour ce sont les valeurs à 92 dB, il y a une petite différence mais très faible.

J'ai coupé le calcul en 3, la partie commune, le numérateur et le dénominateur.
J'ai du ajouter un coefficient 1000000000, je n'ai pas encore compris pourquoi.

$f = 10;

// Ancienne courbe de déplacement
//$h = $fb/$fs ;
//$a = $vas/$volbr ;
//$z17 = $f/$fs ;
//$d1 = sqrt(pow((1-pow($z17,2)*(1+(1+$a)/pow($h,2)+1/($h*$qb*$qts))+pow($z17,4)/pow($h,2)),2)+pow(($z17*(1/$h/$qb+1/$qts)-pow($z17,3)*(1/$qts/pow($h,2)+1/$h/$qb)),2)) ;
//$g = pow($z17,4)/pow($h,2)/$d1 ;
//$xreal = abs(pow($h,2)/pow($z17,2)-pow($h,4)/pow($z17,4))*$g ;
//$p1y = 1000*$xreal*$tension*sqrt(1)/(2*M_PI*$h*$fs*$qes*$bl) ;
//if ($f < $fnx and $p1y < $xn){$p1y = $xn;}

// Nouvelle 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 ;
$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)) ;
$q1y = 1000000000*$com*$num/$denom ;

$p1x = $f;
$f = $f*pow(2,1/$pointoctave) ;

while($f <= 320)
{
// Ancienne courbe de déplacement
//$h = $fb/$fs ;
//$a = $vas/$volbr ;
//$z17 = $f/$fs ;
//$d1 = sqrt(pow((1-pow($z17,2)*(1+(1+$a)/pow($h,2)+1/($h*$qb*$qts))+pow($z17,4)/pow($h,2)),2)+pow(($z17*(1/$h/$qb+1/$qts)-pow($z17,3)*(1/$qts/pow($h,2)+1/$h/$qb)),2)) ;
//$g = pow($z17,4)/pow($h,2)/$d1 ;
//$xreal = abs(pow($h,2)/pow($z17,2)-pow($h,4)/pow($z17,4))*$g ;
//$p2y = 1000*$xreal*$tension*sqrt(1)/(2*M_PI*$h*$fs*$qes*$bl) ;
//if ($f < $fnx and $p2y < $xn){$p2y = $xn;}

// Nouvelle 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 ;
$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)) ;
$q2y = 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;
$q1yaff = $zeroy-$q1y*$echelley;
$q2yaff = $zeroy-$q2y*$echelley;
//imageline( $image, $p1xaff, $p1yaff, $p2xaff, $p2yaff, $bleu);
imageline( $image, $p1xaff, $q1yaff, $p2xaff, $q2yaff, $rouge);

$p1x = $p2x;
$p1y = $p2y;
$q1y = $q2y;
$f = $f*pow(2,1/$pointoctave) ;
}

[Image: b15mkii-4.png]
Répondre
RE: Equivalents au HP de grave Altec
Bonjour JMP,

Joli travail avec MathCad.

une question, Le Vas du HP pour l'exemple est de 1094 L (sur le PDF), c'est volontaire ? c'est énorme.
Répondre
RE: Equivalents au HP de grave Altec
(26/06/2022-18:02:54)tonipe a écrit : Ce qui avait déclenché cette mise à jour ce sont les valeurs à 92 dB, il y a une petite différence mais très faible.
L'art de minimiser...
Non, l'origine est une erreur de près de 300% sur un déplacement de membrane.

Jean-Marc.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)