Προς το περιεχόμενο

Simulink(Matlab) -DTMF


kostasKJ7

Προτεινόμενες αναρτήσεις

Δημοσ.

Πρωτα απ'ολα γραφουμε Ελληνικα!

 

Δευτερον, τι ακριβως θες; Πως να κανεις τον κωδικα function ή πως να καλεσεις το function μεσα απο το embedded matlab block του Simulink; :-)

Δημοσ.

αν ειναι ευκολο θα ηθελα να μου πειτε πως θα κανω τον κωδικα του matalab function ναι και θα θελα να μου πειτε πωσ θα τον καλεσω μεσα απο το embeded matalab για να δω αν η αρχικη μου σκεπση ειναι σωστη θα το εκτιμουσα πολυ:lol:

Δημοσ.
αν ειναι ευκολο θα ηθελα να μου πειτε πως θα κανω τον κωδικα του matalab function ναι και θα θελα να μου πειτε πωσ θα τον καλεσω μεσα απο το embeded matalab για να δω αν η αρχικη μου σκεπση ειναι σωστη θα το εκτιμουσα πολυ:lol:

 

1. Δωσε help function, εχει παραδειγμα!

2. User defined Function -> Embedded MATLAB Function

 

File -> New -> Model, Βαλε το Embedded MATLAB Function block μεσα στο model, double click on it και copy-paste τον κωδικα που εκανες function!

 

:-)

Δημοσ.

ok σε ευχαριστο θα ηθελα ομος για λιγο ακομα τη βοηθεια σου αν ειναι ευκολο!!!!!!!!!θελω να μου πεις εαν ο τροπος που οριζω την συναρτηση!!!!!!!!!!!!!ειναι αυτος ξερω θα σε ζαλειζω αλλα ρωτοντας πανς στην πολη ετσι δεν ειναι?

function[number]=fcn (x)

N = 1000;

Fs = 8000;

n = 0:1:N-1;

l1 = cos(2*pi*697/Fs*n);

l2 = cos(2*pi*770/Fs*n);

l3 = cos(2*pi*852/Fs*n);

l4 = cos(2*pi*941/Fs*n);

h1 = cos(2*pi*1209/Fs*n);

h2 = cos(2*pi*1336/Fs*n);

h3 = cos(2*pi*1477/Fs*n);

while(1)

number = x;

if number == '1'

x = l1+h1;

elseif number == '2'

x = l1+h2;

elseif number == '3'

x = l1+h3;

elseif number == '4'

x = l2+h1;

elseif number == '5'

x = l2+h2;

elseif number == '6'

x = l2+h3;

elseif number == '7'

x = l3+h1;

elseif number == '8'

x = l3+h2;

elseif number == '9'

x = [l3+h3];

elseif number == '*'

x = l4+h1;

elseif number == '0'

x = l4+h2;

elseif number == '#'

x = l4+h3;

end

 

 

end και αντιστοιχα με το costant poυ βαζω1 2 3 παιρνει τισ τιμες?

Δημοσ.

καλησπερα προσπαθησα πολυ στο ορισμα της συναρτησης το μονο προβλημα ειναι οτι στο embeded matalab πρεπει να παιρνω εισοδο απο το costant δηλαδη το 1 και να δεινω εξοδο το number για να παω μετα στο dtmf block εχω πραγματοπιοισει το παρακατω προγραμμα μεσα στο embeded mata lab αλλα μου βγαζει προβλημα στπο ορισμα του input ti λαθοσ κανω μπορειτε να μου πειτε γιατι εχω κολλισει ασχημα ο κωδικας ειναι ο παρακατω:

 

function number= fcn (input)

N=8000;

Fs = 8000;

n = 0:1:N-1;

l1 = cos(2*pi*697/Fs*n);

h1 = cos(2*pi*1209/Fs*n);

x=l1+h1;

number=x;

input='1';

end

 

 

:rolleyes:

Δημοσ.
καλησπερα προσπαθησα πολυ στο ορισμα της συναρτησης το μονο προβλημα ειναι οτι στο embeded matalab πρεπει να παιρνω εισοδο απο το costant δηλαδη το 1 και να δεινω εξοδο το number για να παω μετα στο dtmf block εχω πραγματοπιοισει το παρακατω προγραμμα μεσα στο embeded mata lab αλλα μου βγαζει προβλημα στπο ορισμα του input ti λαθοσ κανω μπορειτε να μου πειτε γιατι εχω κολλισει ασχημα ο κωδικας ειναι ο παρακατω:

 

function number= fcn (input)

N=8000;

Fs = 8000;

n = 0:1:N-1;

l1 = cos(2*pi*697/Fs*n);

h1 = cos(2*pi*1209/Fs*n);

x=l1+h1;

number=x;

input='1';

end

 

 

:rolleyes:

 

Οτι εχεις ως ορισμα το input που ομως μεσα στο function το εχεις "κολλησει" στο 1, οποτε σαν ορισμα το εχεις αχρηστευσει!!! :-)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...