MATLAB Digital Signal Processing
1, a função de geração de forma de onda
função | explicação |
---|---|
quadrado | Honami |
dente de serra | Sawtooth |
sinc | função sinc |
diric | função diric |
rectpuls | onda quadrada não-ciclo |
tripuls | onda triangular aperiódica |
transmissor de impulsos | seqüência de pulsos |
chilro | onda cosseno FM |
-
função quadrado : chamada da seguinte forma:
-
x = quadrado (t): resultando em um 2pi período, a amplitude máxima de uma onda quadrada.
-
x = quadrado (t, dever): resultando em um período de 2pi, a amplitude máxima de uma onda quadrada, dever é o ciclo de trabalho.
Gerando uma função periódica quadrado como um racio de actividade eram de 50% e de onda quadrada de 30%:
t = 0:0.001:4; y1 = square(2*pi*t); y2 = square(2*pi*t, 30); subplot(1, 2, 1); plot(t, y1); subplot(1, 2, 2); plot(t, y2); axis([0, 4, -1.5, 1.5]);
-
-
função de dente de serra: chamada da seguinte forma:
- x = dente de serra (t, largura): resultando em um período de 2pi, dente de serra 1 pico, a largura e a abcissa representa a relação entre a posição do ciclo.
Gerar uma função de dente de serra de dente de serra periódico e onda quadrada de 1:
t = 0:0.001:4; y1 = sawtooth(2*pi*t); y2 = sawtooth(2*pi*t, 0.5); subplot(1, 2, 1); plot(t, y1); subplot(1, 2, 2); plot(t, y2); axis([0, 4, -1, 1]);
-
função sinc: chamada da seguinte forma:
- x = sinc (t): gerar uma forma de onda função sinc.
Sinc forma de onda é gerada por função:
t = -5:0.001:5; y = sinc(t); plot(t,y); axis([-5 5 -1 1]);
-
função diric: chamada da seguinte forma:
- x = diric (x, n): quando n é um número ímpar, como uma função do ciclo de 2pi; quando n é par, função periódica de 4pi.
Geradora de formas de onda funções diric:
t = -15:0.05:15; y1 = diric(t, 5); y2 = diric(t, 6); subplot(121); plot(t, y1); subplot(122); plot(t, y2); axis([-15 15 -1 1]);
-
rectpuls funcionar: chamada da seguinte forma:
- x = rectpuls (t, w): w é a largura do período de não-geração, na altura da onda rectangular.
rectpuls gerar funcionar com 1s comprimento, uma largura de 0,7 s as ondas rectangulares não periódicas:
t = 0:0.01:1; y = rectpuls(t, 0.7); plot(t, y); axis([0 1 -0.2 1]);
-
tripuls funcionar: chamada da seguinte forma:
-
x = tripuls (t, largura, s): gerando uma altura unidade não periódica, largura largura, a inclinação s da onda triangular.
tripuls gerar funcionar com 1s comprimento, uma largura de 0.6s, 0,9 e 0, respectivamente, a inclinação da onda triangular não periódica:
t = 0:0.01:1; y1 = tripuls(t, 0.6, 0); subplot(121); plot(t, y1); y2 = tripuls(t, 0.6, 0.9); subplot(122); plot(t, y2); axis([0 1 -0.2 1]);
-
-
função pulstran: chamada da seguinte forma:
- x = pulstran (t, d, 'func'): em que o valor do parâmetro é gauspuls func (Gaussian modulado por um sinal sinusoidal); rectpuls (onda quadrada não periódica); tripuls (onda não periódico triangular). Esta função gera uma forma pré-determinada por intervalo de amostragem d da func cadeia de impulso;
- x = pulstran (t, d, 'func', p1, p2): A parâmetros P1 e P2 para a func função de transferência;
- x = pulstran (t, d, P, F): vector p representam a sequência original, F é a frequência de amostragem. Os tempos de atraso da sequência original obtido por adição da sequência de saída.
Triangular onda gerada por uma corda função pulstran impulso:
t = 0:0.001:1; d= 0:1/3:1; y = pulstran(t, d, 'tripuls'); plot(t, y); axis([0 1 1.3 1.75]);
-
função chirp: chamada da seguinte forma:
- chirp (t, f 0, t1, f1): chirp gerar um sinal co-seno. f0 e f1 é a freqüência instantânea no tempo zero eo tempo t1.
- chirp (t, f 0, t1, f1, método): método de parâmetro especifica o modo de varrimento diferente, variando compreendendo três maneiras:
Linear linear
quadrática quadrática
logarítmica logaritmo
sinal chirp varredura secundário é uma função da frequência está representado na FIG forma de onda no domínio do tempo e tempo:
t = 0:1/400:1; y = chirp(t, 10, 1, 100, 'quadratic'); plot(t, y); spectrogram(y,128,120,128,1000,'yaxis'); axis([0 1 -1 1]);
t = 0:1/400:1;
y = chirp(t, 10, 1, 100, 'quadratic');
plot(t, y);
%spectrogram(y,128,120,128,1000,'yaxis');
axis([0 1 -1 1]);
2, a transformada de Fourier a função
função | explicação |
---|---|
fft | Computação rápida de Fourier discreta transformar |
fftshift | função de ajustamento a fim de saída FFT, a posição do centro para o espectro de frequência de zero |
ifft | Calculando transformada inversa discreta de Fourier |
- função FFT: chamada da seguinte forma:
- y = fft (x): sinais a transformada de Fourier rápida calculados x y. Quando o comprimento X de uma potência de 2, um algoritmo de base 2 utiliza um algoritmo de radix mais lento ou dividida.
- y = fft (x, n): N Calculado FFT ponto. Quando o comprimento (X)> N, o truncamento x, ou zeros.
- função fftshift: chamada da seguinte forma:
- y = fftshift (x): Se X é um vector, fftshift (x) directamente para a esquerda e trocar a direita duas partes x; se x for uma matriz (sinais multicanais), x representa a parte superior esquerda, a direita inferior e superior direita, parte inferior esquerda dos dois quatro dois de câmbio.
- ifft função: chamada da seguinte forma:
- y = IFFT (x): Fourier inversa transformar calculados os sinais X
- y = IFFT (x, n): N Calculado ponto IFFT. Se o comprimento (x)> n, onde n é o comprimento dos truncada a X, ou zeros.
3, a função de filtro é realizada e Análise
nome da função | |
---|---|
conv | convolved |
IMPZ | Filtro digital de resposta de impulso |
zplane | Pólos e zeros sistemas de trama discretas |
abdômen | cálculo de amplitude |
ângulo | Procura ângulo de fase |
filtro | filtro de forma directa II |
-
função conv: chamada da seguinte forma:
- c = conv (a, b): retorna um vetor de a, b convolução C.
-
função IMPZ: chamada da seguinte forma:
- [H, t] = IMPZ (b, a): b molecular, um, respectivamente, e o sistema de transferência de coeficiente função denominador vector. Sistema de impulso de retorno (b, a) e o respectivo eixo em vector h de resposta t.
- [H, t] = IMPZ (b, a, n): ponto de retorno n resposta ao impulso.
- [H, t] = IMPZ (b, A, n, F): Especifica o intervalo de amostras de resposta de impulso 1 / Fs. Fs é a frequência relativa, um valor padrão.
Calculando sistema linear impulso (b, a) em resposta a:
b = [0.2 0.1 0.3 0.1 0.2]; a= [1 -1.1 1.5 -0.7 0.3]; impz(b,a,50);
-
função zplane: chamada da seguinte forma:
- zplane (z, p): sistema de prestação de pólos e zeros trama, "o" representa zero, "X", representa um pólo. z, p são iguais a zero e pólo vector.
- zplane (b, a): b , um sistema de transferência são numerador e funções maternas
de um vector.
Calculando sistema linear (b, a) de zeros e pólos:
b = [0.2 0.1 0.3 0.1 0.2]; a= [1 -1.1 1.5 -0.7 0.3]; zplane(b, a);
-
função abs: chamada da seguinte forma:
- y = abs (x): Retorna a magnitude do complexo vector y vetor x.
Ele descreve um espectro de amplitude do sinal sinusoidal da transformada de Fourier:
t = (0:99)/100; x = sin(2*pi*40*t); y = fft(x); m = abs(y); f = (0:length(y)-1)/length(y)*100; plot(f,m);
-
funções ângulo: chamada da seguinte forma:
- p = ângulo (h): retorna o complexo vector h de vetores de fase p.
Descreve um sinal de onda quadrada com as características de freqüência:
t = (0:99)/10000; x = sin(2*pi*t); y = fft(x); m = angle(y); f = (0:length(y)-1)/length(y)*100; plot(f,m);
-
função de filtro: chamada como se segue:
- y = filtro (b,, um x): x calcula o sinal de entrada por meio de uma função de transferência de numerador e o denominador coeficiente vector (em ordem decrescente) como a saída y b, um filtro.
- [Y, zf] = filtro (b,, um x): retorna a final zf vector de estado.
- [...] = filtro (b, a, x, zi): as condições iniciais especificados zi filtro.