Va bene. Era solo una provocazione per farti capire che ci sono molte scelte possibili.
A questo punto ti consiglio di pensare bene a cosa devi fare.
Le domande del punto 2 e 3 sono legate e mal poste comunque interpretabili.
Ti chiedono di fare un filtraggio a blocchi non necessariamente utilizzando la FFT quindi ATTENZIONE!!!
Puoi scegliere di operare nel dominio del tempo o in frequenza per cui potresti utilizzare varie tecniche.
Cosa vuoi fare ?
Non sapendo il programma che hai svolto ... devi scegliere tu.
( Per cortesia indicami la facoltà ed il corso che hai seguito ).
Matlab esercizio
0
voti
[12] Re: Matlab esercizio
come mi hai ben suggerito, rileggo il testo, e prima di tutto devo valutare e capire come segmentare il segnale in blocchi di 10ms.
Prima di tutto cerco di capire quanti campioni ci sono in 10ms alla frequenza di campionamento Fs.
Fs ci dice che in un secondo ci sono Fscampioni. Quindi in DeltaT= 10ms=0.01 S CI SONO Fs*deltaT [sample/s * s = sample] campioni. no??
Prima di tutto cerco di capire quanti campioni ci sono in 10ms alla frequenza di campionamento Fs.
Fs ci dice che in un secondo ci sono Fscampioni. Quindi in DeltaT= 10ms=0.01 S CI SONO Fs*deltaT [sample/s * s = sample] campioni. no??
-
dimaios
30,2k 7 10 12 - G.Master EY

- Messaggi: 3381
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
2
voti
[13] Re: Matlab esercizio
Utilizza il LaTex per scrivere le formule.
Se indichiamo con
il periodo di un blocco dati pari a 10 ms e con
il periodo di campionamento si ha :

Evita di usare l'asterisco "*" per indicare la moltiplicazione perché viene impiegato come simbolo per la convoluzione e si rischia di fare confusione.
Ora devo assentarmi ma ti fornisco alcuni consigli sul procedimento.
[1] Registra la tua voce con il PC oppure scarica da internet un file vocale in formato WAV con al frequenza di campionamento indicata nel problema.
[2] Sintetizza il filtro ( utilizza Matlab oppure Octave )
[3] Filtra TUTTO il segnale con il filtro sintetizzato e tienilo "da parte" per un confronto.
[4] Inizia il filtraggio a blocchi e tenta la successiva ricostruzione del segnale complessivo
[5] Controlla se il segnale del punto [3] e quello ottenuto dal punto [4] coincidono.
Prova ad impostare il problema. Se poi hai dei problemi ci risentiamo.
Se indichiamo con
il periodo di un blocco dati pari a 10 ms e con
il periodo di campionamento si ha :
Evita di usare l'asterisco "*" per indicare la moltiplicazione perché viene impiegato come simbolo per la convoluzione e si rischia di fare confusione.
Ora devo assentarmi ma ti fornisco alcuni consigli sul procedimento.
[1] Registra la tua voce con il PC oppure scarica da internet un file vocale in formato WAV con al frequenza di campionamento indicata nel problema.
[2] Sintetizza il filtro ( utilizza Matlab oppure Octave )
[3] Filtra TUTTO il segnale con il filtro sintetizzato e tienilo "da parte" per un confronto.
[4] Inizia il filtraggio a blocchi e tenta la successiva ricostruzione del segnale complessivo
[5] Controlla se il segnale del punto [3] e quello ottenuto dal punto [4] coincidono.
Prova ad impostare il problema. Se poi hai dei problemi ci risentiamo.
Ingegneria : alternativa intelligente alla droga.
-
DirtyDeeds
55,9k 7 11 13 - G.Master EY

- Messaggi: 7012
- Iscritto il: 13 apr 2010, 16:13
- Località: Somewhere in nowhere
1
voti
[15] Re: Matlab esercizio
pixx87 ha scritto:Scusa ma quindi non posso proprio
usare Y= Wavrecord(Ncampioni, fs, 'int16')
Una nota: talvolta ciò che si può usare nella risoluzione di un esercizio dipende anche dalle consuetudini del professore.
Se si legge il manuale di Matlab per la funzione wavrecord si trovano tre informazioni importanti:
Record sound using PC-based audio input device
wavrecord will be removed in a future release. Use audiorecorder instead.
The wavrecord function is for use only with 32-bit Microsoft Windows operating systems. To record audio data from audio input devices on other platforms, use audiorecorder.
Quindi se usi la funzione wavrecord assumi implicitamente tre cose:
1) Che l'acquisizione debba avvenire dalla scheda audio del PC.
2) Che il PC abbia come sistema operativo MS Windows e che non ti interessa la portabilità del codice ad altri sistemi operativi.
3) Che non ti interessa che il codice continui a funzionare anche in future release di Matlab.
Il mio consiglio è allora questo: quando risolvi un esercizio, se hai dubbi sulle consuetudini del professore o se devi usare funzioni che hanno delle limitazioni forti (come wavrecord), scrivi sempre esplicitamente tali limitazioni e le tue eventuali supposizioni: così eviterai incomprensioni in sede d'esame (e, al di là dell'esame, tale pratica ha validità generale).
It's a sin to write
instead of
(Anonimo).
...'cos you know that
ain't
, right?
You won't get a sexy tan if you write
in lieu of
.
Take a log for a fireplace, but don't take
for
arithm.
instead of
(Anonimo)....'cos you know that
ain't
, right?You won't get a sexy tan if you write
in lieu of
.Take a log for a fireplace, but don't take
for
arithm.-
dimaios
30,2k 7 10 12 - G.Master EY

- Messaggi: 3381
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
2
voti
[17] Re: Matlab esercizio
Va bene. Per quanto riguarda il punto [2] abbiamo decretato che dobbiamo dividere il segnale originale in un certo numero di intervalli ognuno dei quali deve comprendere
campioni.
A questo punto, se hai seguito il corso e studiato la materia in oggetto, dovresti avere qualche indizio su come filtrare il segnale a blocchi.
In pratica, invece di filtrare tutto il segnale in un "colpo solo", si divide in blocchetti più piccoli che vengono filtrati individualmente e solo alla fine viene assemblato il segnale finale filtrato.
Questo permette ( nel caso il segnale sia disponibile ) di parallelizzare le operazioni ed incrementare l'efficienza algoritmica a patto che vengano rispettate alcune condizioni.
Che tecniche vi sono state insegnate ?
Parliamo prima di questo e successivamente penseremo alla sintesi del filtro digitale.
campioni.A questo punto, se hai seguito il corso e studiato la materia in oggetto, dovresti avere qualche indizio su come filtrare il segnale a blocchi.
In pratica, invece di filtrare tutto il segnale in un "colpo solo", si divide in blocchetti più piccoli che vengono filtrati individualmente e solo alla fine viene assemblato il segnale finale filtrato.
Questo permette ( nel caso il segnale sia disponibile ) di parallelizzare le operazioni ed incrementare l'efficienza algoritmica a patto che vengano rispettate alcune condizioni.
Che tecniche vi sono state insegnate ?
Parliamo prima di questo e successivamente penseremo alla sintesi del filtro digitale.
Ingegneria : alternativa intelligente alla droga.
0
voti
[20] Re: Matlab esercizio
uno di miei dubbi è il seguente:
in teoria dovrei fare il filtraggio su un singolo blocco:
in teoria dovrei fare il filtraggio su un singolo blocco:
Codice: Seleziona tutto
Y=wavread (Ncampioni,Fs,'int16');
Fs= 16000;
t1=(0:1/Fs:20-1/Fs);
Y1= Y(0: length(t1));
plot (t1,Y1);
h= ones (101,1)/101;
Y2=conv(Y1,h);
b= length (Y2);
dim_Y2= size (Y2);
plot (Y2)
title ('filtraggio su un blocco unico')
Ultima modifica di
dimaios il 24 giu 2012, 18:33, modificato 1 volta in totale.
Motivazione: Era stato utilizzato il tag [tex] invece del [code] per pubblicare il codice sorgente
Motivazione: Era stato utilizzato il tag [tex] invece del [code] per pubblicare il codice sorgente

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

