Hallo, ich habe probleme mit Matlab und Simmulation im Bereich (dsp).ich komme nicht weiter.ich brauche dringend und schnell jemanden,der gegen Bezahlung mir helfen kann.
Erzähl doch einfach was das problem ist, dann wird dir auch gratis geholfen .-)
Hallo, hierbei ist eine Skizze ,die erklärt was ich will...Also es geht um einen Schallplatten filter(20-20khz),der muss ich mit Matlab oder Simmulation programmieren .Mein ziel ist ,die Transferfunktion(H=out/in) zu rechnen.Die Formel von H ist : H(Z)=Y(z)/X(z)=b0+b1*Z^-1 +b2*Z^-2 /(1+a1*Z^-1+a2*Z^-2 ) .Ich habe die durch die Simmulation gerechnet d.h: Ausgang und Eingang in Workspace gespeichert und dann in kommand Window das programm eingegeben: out=simout.signals.values; IN=simout1.signals.values; for s=1:44100 % Fa=44100 Hz "abtastfrequenz" H(s)=OUT(s)/IN(:,:,s) %Out und In sollen gleiche grosse haben H(s)=20*log10(H(s)); % die Dämfung end plot(H(S)) weil die Fa sehr gross ist,die Rechnung wird lange dauern.Ich hab sie trozdem durchgeführt.Das ergebniss steht oben,es ist nicht was ich erwartet habe!! die Koeffizienten von der Übertragung sind aber richtig,habe ich im Netzt gefunden.kann ich auch senden wenn Sie möchten. danke.
soll das jetzt heissen du willst einfach die Formale: H(Z)=Y(z)/X(z)=b0+b1*Z^-1 +b2*Z^-2 /(1+a1*Z^-1+a2*Z^-2 ) in einem Simulink Modell haben???
>>Mein ziel ist ,die Transferfunktion(H=out/in)
zu rechnen.
Dafür gibt es die Funktion "filter()":
out = filter(B,A,in)
Die Koeffizienten müssen entsprechend der gegebenen Übertragungsfunktion
gesetzt werden.
Mit einem diskreten Bodediagramm ist dein Frequenzgang in Matlab berechenbar. help dbode ;Matlab Help num=[0.02675918611906,-0.04592084787595,0.019212292972391] den=[-0.17951755477430, -0.73845850035973, 1] w=[1:10:44100*pi] ;Frequenzvektor bis 22050 Hz Ts=1/44100 ;Sampletime dbode(num,den,Ts,w)
mit diesem update sollte es stimmen num=[0.019212292972391,-0.04592084787595,0.02675918611906] den=[1, -0.73845850035973,-0.17951755477430] vorher war num[a2/z²+a1/z+a0] richtig ist aber [a0*z²+a1*z+a2] siehe DBODE(NUM,DEN,Ts) produces the Bode plot for the polynomial transfer function G(z) = NUM(z)/DEN(z) where NUM and DEN contain the polynomial coefficients in descending powers of z.
hallo, danke erstmal für Ihre schnelle Antworte. a2/Z^2 +a1/Z +a0 = a0*Z^2 +a1*Z +a2 oder? Bei mir sind die koeffizienten in diese Reihenfolge (siehen Sie den Link) http://www.musicdsp.org/showArchiveComment.php?ArchiveID=122 bis das Datum 01/03/07 können Sie lesen (Anhang). Die gleichung : Out= bo*in [0] + b1*in[-1] + b2*in[-2] - a1*out[-1] - a2*out[-2] ist wichtig!! Von Literatur: Die Übertragungsfunktion eines digitalen Filter im Z-bereich lautet allgemein für die Eingangsgröße x und die Ausgangsgröße y: H(z^-1)=y(Z-^1)/x(Z^-1)=B(Z^-1)/A(Z^-1)=b0+b1*Z^-1+...+bn*Z^-n/(1+a1*Z^- 1 +...+am*Z^-m Der Ausgangswert(y)wird demnach als gewichtete Summe aktueller und vergangener Eingangswerte(Zähler B)sowie vergangener Ausgangswerte(Nenner A)berechnet: y(k)=b0*x(k)+ b1*x(k-1)+...+bn* x(k-n)- a1*y(k-1)-...-am*y(k-m). unserem Fall ist: n= m= 2.
Hallo tomi, ich glaube ,das alles werde ich nicht brauchen,ich muss z.b einmal "Discrete inpuls" im Eingang testen ob mein Filter gut funktioniert ,danach H=out/in rechnen. Sie haben immer nicht auf meine fragen nicht geantwortet,Sehen Sie oben. danke.
Hallo, nochmal die frage: warum haben Sie da oben einmal nur die Koeffizieten vom "num" umgetaucht. und bei zweitemal nur vom "den" . falls die Reihenfolege der Koeffizieten nicht korekt ist,sollen nicht "num" und "den" beide umgetaucht werden ?!! was meinen Sie.
>warum haben Sie da oben einmal nur die Koeffizieten vom "num" >umgetaucht. und bei zweitemal nur vom "den" . num=[0.02675918611906,-0.04592084787595,0.019212292972391] den=[-0.17951755477430, -0.73845850035973, 1] num=[0.019212292972391,-0.04592084787595,0.02675918611906] den=[1, -0.73845850035973,-0.17951755477430] bei genauerer Betrachtung sieht man dass Koeff. in num und den vertauscht wurden, weil dbode (a0*z²+a1*z+a2) verlangt. wenn man num und den vertauscht bekommt man die Umkehrfunktion und statt einem Hochpass einen Tiefpass (der für Audioanwendungen interessanter ist)
Hallo Tommi, ich hab immer noch nicht verstanden!!! also meine Koeffi. sehen so aus: 44.1kHz b= num= [ 0.02675918611906 -0.04592084787595 0.019212292972391] a= den= [ 1.00000000000000 -0.73845850035973 -0.17951755477430] error +/- 0.25dB Sehen Sie das: http://www.musicdsp.org/showArchiveComment.php?ArchiveID=122 das von Ihnen: num=[0.02675918611906,-0.04592084787595,0.019212292972391] den=[-0.17951755477430, -0.73845850035973, 1] num=[0.019212292972391,-0.04592084787595,0.02675918611906] den=[1, -0.73845850035973,-0.17951755477430] >bei genauerer Betrachtung sieht man dass Koeff. in num und den vertauscht wurden, weil dbode (a0*z²+a1*z+a2) verlangt. >vorher war num[a2/z²+a1/z+a0] richtig ist aber [a0*z²+a1*z+a2] ich sage: [a2/z²+a1/z+a0]*Z^2= a2+a1Z+a0Z^2 = [a0*z²+a1*z+a2] ausserdem ist b num und nicht a
das von Ihnen: >num=[0.02675918611906,-0.04592084787595,0.019212292972391] >den=[-0.17951755477430, -0.73845850035973, 1] >num=[0.019212292972391,-0.04592084787595,0.02675918611906] >den=[1, -0.73845850035973,-0.17951755477430] stimmt da ist wohl etwas durcheinander gekommen > ich sage: [a2/z²+a1/z+a0]*Z^2= a2+a1Z+a0Z^2 = [a0*z²+a1*z+a2] ist auch richtig. Da du jetzt denn Durchblick hast wirst du sicher deine Polynome in dbode einsetzten können und sehen dass 44.1kHz b= num= [ 0.02675918611906 -0.04592084787595 0.019212292972391] a= den= [ 1.00000000000000 -0.73845850035973 -0.17951755477430] (dbode(b,a,t,w) wieder einen Hochpass ergibt.
Übrigens wär nähers über diskrete Frequenzgänge wissen will kann hier nachschauen. http://cds.acin.tuwien.ac.at/fileadmin/cds/lehre/aut/Automatisierung_Kapitel6_Teil2.pdf Kapitel 6.5
Hallo, ich brauche dringend Hilfe beim MATLAB Curve Fitting. kennt sich Jemanden damit aus? Ich muß mehrere Statistiken darstellen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.