Mostrando postagens com marcador LPS. Mostrar todas as postagens
Mostrando postagens com marcador LPS. Mostrar todas as postagens

2 de ago. de 2011

O que vou aprendendo no MATLAB - verificar resposta do filtro

Comando fvtool(Hd)
http://www-rohan.sdsu.edu/doc/matlab/toolbox/signal/fvtool.html

Serve para mostrar a resposta de um filtro.

18 de jan. de 2011

Criar filtro no MATLAB

Comando sptool do MATLAB: Abre interface gráfica para criar filtros. Basta inserir os parâmetros e ir em File > Export m file e gerar um arquivo-m com o código do filtro.


18 de dez. de 2010

O que vou aprendendo no matlab - Sinal aleatório + filtro

Gerando um sinal aleatório:
randn(tempo,freqüência de amostragem)
>> x=randn(1,10000); -->gera um segundo de sinal aleatório com 10000 amostras/segundo ¹

Filtro:
Usamos a função h = fir1(n,w), a qual corresponde a um filtro passa-baixa de freqüência w. Pode ser usada como passa-altas:
>> h = fir1(n,w,'high');
onde n é o número de amostras, e passa-faixas:
>> h = fir1(n,[w1 w2]);
onde w, w1 e w2 são as freqüências de corte normalizadas (isto é, 1 equivale à metade da freqüência de amostragem).

Mais informações em http://www.phon.ucl.ac.uk/courses/spsci/matlab/lect8.html

10 de dez. de 2010

Salvando figura no matlab (linha de comando)

Usar o comando saveas(gcf,'nomedaimagem.jpg')

Exemplo:
>>n=[0:1:10]

n =

0 1 2 3 4 5 6 7 8 9 10

>>stem(sin(n)); saveas(gcf,'exemplo.jpg')


Apesar de dar um erro, a imagem é salva:


Erro:
Warning: This functionality is no longer supported under the -nojvm startup
option. For more information, see "Changes to -nojvm Startup Option" in the MATLAB Release Notes. To view the release note in your system browser, run web('http://www.mathworks.com/access/helpdesk/help/techdoc/rn/bropbi9-1.html#brubkzc-1', '-browser') > In gcf at 33 Warning: This functionality is no longer supported under the -nojvm startup option. For more information, see "Changes to -nojvm Startup Option" in the MATLAB Release Notes. To view the release note in your system browser, run web('http://www.mathworks.com/access/helpdesk/help/techdoc/rn/bropbi9-1.html#brubkzc-1', '-browser') > In graphics/private/render at 143 In print at 277 In saveas at 155

3 de dez. de 2010

Lidando com dois canais de áudio no MATLAB / Spectogram / FFT

-Lidando com dois canais de áudio no MATLAB:
Quando um vetor de saída do wavread tem uma forma ["número"x2], existem dois canais.

Comando para pegar apenas um canal:
plot(y(1:100,1),1:100,'red') -- Este comando pega as 100 primeiras amostras do canal 1.

Para plotar ambos os canais:
plot(1:1000,y(1:1000,1),'blue',1:1000,y(1:1000,2),'red')

Pegar apenas um canal:
y1=y(:, 1);

-Spectrogram:
Gera a PSD.

Padrão:
S = spectrogram(x,window,noverlap,nfft,fs);
[S,F,T,P] = spectrogram(x,window,noverlap,F,fs);

Exemplo:
[s,f,t, p] = spectrogram(y(1:100000), 100, 0, 100, 22050);

P - matriz que representa a PSD de cada segmento.
F - vetor de freqüências
Não entendi bem a diferença entre o F e o nfft.

-FFT:
Padrão: Y = fft(X,n)

Gera a DFT de n pontos. Se o comprimento do X for maior que n, X é completado com zeros. No caso contrário, é truncado.

Diferença entre FFT e DFT: FFT é o algoritmo e DFT é o espectro (a Transformada Discreta de Fourier, a particularização da transformada z) gerado pela FFT.

30 de nov. de 2010

Matlab em modo de linha de comando

Para acessar o Matlab somente em modo de linha de comando, via terminal, deve ser dado o seguinte comando:

nice -20 matlab -nojvm -nodisplay

23 de nov. de 2010

Escrevendo uma matriz do MATLAB em um arquivo txt

fid = fopen('arquivo.txt','wt')
fprintf
(fid,'%f\n',nomedavariavel)
fclose
(fid)


Gera um arquivo.txt na pasta onde o matlab esta atuando com o conteúdo da matriz "nomedavariavel".

Adaptado de http://stackoverflow.com/questions/1456882/how-to-print-an-array-to-a-txt-file-in-matlab


Definir uma variável (real ou complexa): syms nomedavariavel

16 de nov. de 2010

Spectogram

Pesquisar sobre Power Spectral Density (PSD), Short Time Fourier Transform, FFT e a função spectogram do MATLAB. Salvar espectros como *.fig

Ver dados de meteoro e analisar freqüência de aquisição. Fazer spectogram (STFT) e FFT (n=1024) no sinal wav. Para isto, dividir o arquivo (grande, size(y)=77879296 2)) em intervalos de 60 segundos e fazer a FFT (janela temporal).

A=y(1:60*fs); --A recebe os primeiros 60 segundos de y (fs=amostras por segundo)

Pesquisar sobre Filtro Casado e cumulative spectral power analysis. Artigo: a partir de 4.3 Frequency-domain analysis.

Resultados:
Comando do matlab para a determinação da freqüência de amostragem:
[Y,FS,nbits]=wavread('nomedoarquivo.wav');
Resultado: fs=22050, nbits=16. Pelo Teorema de Nyquist, 11025 é a maior freqüência detectável. Fazendo n=1024 na FFT, temos que o intervalo do espectro será 11025/1024.

Rodar "em off": nohup matlab -nodisplay -nosplash -nodesktop -r "nomedoarquivomsemom";quit" &

Dúvidas:
Artigo: Back scatter radar tends to be pulsed and forward scatter continuous wave (CW).

14 de out. de 2010

Matlab

Criar um arquivo .m:
File -> New -> Blank M-File

Rodar o arquivo .m:
Com o arquivo salvo, deve aparecer uma coluna do lado dos números. Marcar, clicando, um ponto vermelho.


Definir intervalo do gráfico:
plot(variavel(0:100),funcao(0:100)); %100 seria um exemplo para o intervalo

Quem sou eu

Raphael Fernandes
Carioca, Brasileiro, Estudante de Robótica
Hiperativo, Imperativo
Gosto de tecnologia, de transporte, de Rock, de reclamar e de propagandas criativas (e outras coisas que posso ter falado em um post ou não)
Musicalmente falando, sou assim.

Related Posts Plugin for WordPress, Blogger...

Veja também...