Método de vetor de amplitude rotativa. As oscilações harmônicas do valor s são descritas por uma equação do tipo

Diagrama de vetor. Adição de vibrações.

A solução de uma série de problemas na teoria das oscilações é bastante facilitada e torna-se mais óbvia se as oscilações forem representadas graficamente usando o método diagramas vetoriais. Vamos escolher algum eixo X. De um ponto 0 no eixo traçamos o vetor comprimento , que primeiro forma um ângulo com o eixo (Fig. 2.14.1). Se colocarmos este vetor em rotação com uma velocidade angular , então a projeção da extremidade do vetor no eixo X mudará ao longo do tempo de acordo com a lei

.

Portanto, a projeção da extremidade do vetor sobre o eixo realizará uma oscilação harmônica com amplitude igual ao comprimento do vetor, com frequência circular igual à velocidade angular de rotação do vetor e com fase inicial igual ao ângulo que o vetor forma com o eixo no momento inicial do tempo. O ângulo formado pelo vetor com o eixo em um dado momento determina a fase da oscilação naquele momento - .

Do que foi dito, segue-se que uma oscilação harmônica pode ser representada usando um vetor, cujo comprimento é igual à amplitude da oscilação, e sua direção forma um ângulo com algum eixo igual à fase da oscilação. Esta é a essência do método dos diagramas vetoriais.

Adição de oscilações de mesma direção.

Considere a adição de duas oscilações harmônicas, cujas direções são paralelas:

. (2.14.1)

Deslocamento resultante X será a soma de e . Será uma oscilação com amplitude.

Vamos usar o método dos diagramas vetoriais (Fig. 2.14.2). na figura e são as fases das oscilações resultantes e adicionadas, respectivamente. É fácil ver o que pode ser encontrado somando os vetores e . No entanto, se as frequências das oscilações adicionadas forem diferentes, a amplitude resultante muda em magnitude ao longo do tempo e o vetor gira a uma velocidade não constante, ou seja, a oscilação não será harmônica, mas representará algum processo oscilatório complexo. Para que a oscilação resultante seja harmônica, as frequências das oscilações adicionadas devem ser as mesmas

e a oscilação resultante ocorre na mesma frequência

.

Fica claro na construção que

Analisemos a expressão (2.14.2) para a amplitude da oscilação resultante. Se um a diferença de fase das oscilações adicionadas é igual a zero(as oscilações estão em fase), a amplitude é igual à soma das amplitudes das oscilações adicionadas, ou seja tem o valor máximo possível . Se um a diferença de fase é(as oscilações estão em antifase), então a amplitude resultante é igual à diferença de amplitude, ou seja tem o menor valor possível .

Adição de vibrações mutuamente perpendiculares.

Deixe a partícula realizar duas oscilações harmônicas com a mesma frequência: uma ao longo da direção, que denotamos X, o outro está na direção perpendicular y. Nesse caso, a partícula se moverá ao longo de alguma, no caso geral, de uma trajetória curvilínea, cuja forma depende da diferença de fase das oscilações.

Escolhemos a origem da referência de tempo para que a fase inicial de uma oscilação seja igual a zero:

. (2.14.3)

Para obter a equação da trajetória da partícula, é necessário excluir de (2.14.3) t. Da primeira equação, a. significa, . Vamos reescrever a segunda equação

ou

.

Transferindo o primeiro termo do lado direito da equação para o lado esquerdo, elevando ao quadrado a equação resultante e realizando transformações, obtemos

. (2.14.4)

Esta equação é a equação de uma elipse cujos eixos são girados em relação aos eixos X e y para algum ângulo. Mas em alguns casos especiais são obtidos resultados mais simples.

1. A diferença de fase é zero. Então de (2.14.4) obtemos

ou . (2.14.5)

Esta é a equação de uma linha reta (Fig. 2.14.3). Assim, a partícula oscila ao longo dessa linha reta com frequência e amplitude iguais a .

Um diagrama vetorial é uma maneira de definir graficamente um movimento oscilatório como um vetor.

Um valor oscilante ξ (de qualquer natureza física) é plotado ao longo do eixo horizontal. O vetor plotado a partir do ponto 0 é igual em valor absoluto à amplitude de oscilação A e é direcionado em um ângulo α , igual à fase inicial da oscilação, ao eixo ξ. Se colocarmos este vetor em rotação com uma velocidade angular ω igual à frequência cíclica de oscilações, então a projeção desse vetor no eixo ξ dá o valor da quantidade oscilante em um momento arbitrário no tempo.

Adição de oscilações de mesma frequência e mesma direção

Sejam duas oscilações: construímos diagramas vetoriais e adicionamos vetores:

Pela lei dos cossenos

Porque então

É óbvio (veja o diagrama) que a fase inicial da oscilação resultante é determinada pela relação:

Adição de oscilações de frequências próximas

P est, duas oscilações com frequências quase idênticas são adicionadas, ou seja,

Da trigonometria:

Aplicando ao nosso caso, temos:

O gráfico da oscilação resultante é um gráfico de batimento, ou seja, oscilações quase harmônicas da freqüência ω, cuja amplitude muda lentamente com a freqüência Δω .

Amplitude devido à presença do sinal do módulo (a amplitude é sempre > 0), a frequência com que a amplitude muda não é igual a Δω / 2, mas duas vezes maior - Δω.

Adição de oscilações mutuamente perpendiculares

Deixe um pequeno corpo oscilar em molas mutuamente perpendiculares de mesma rigidez. Em que trajetória esse corpo se moverá?

Estas são as equações de trajetória em forma paramétrica. Para obter uma relação explícita entre as coordenadas xey, o parâmetro t deve ser excluído das equações.

Da primeira equação: ,

A partir do segundo

Após substituição

Vamos nos livrar da raiz:

é a equação de uma elipse

H
casos especiais:

27. Vibrações amortecidas. Vibrações forçadas. Ressonância.

Amortecimento de oscilações livres

Devido à resistência, as oscilações livres sempre desaparecem mais cedo ou mais tarde. Consideremos o processo de amortecimento de oscilações. Suponhamos que a força de resistência seja proporcional à velocidade do corpo. (o fator de proporcionalidade é indicado por 2mg por motivos de conveniência, que serão revelados posteriormente). Tenhamos em mente o caso em que seu amortecimento é pequeno durante o período de oscilação. Então podemos supor que o amortecimento terá pouco efeito na frequência, mas afetará a amplitude das oscilações. Então a equação de oscilações amortecidas pode ser representada como Aqui A(t) representa alguma função decrescente que precisa ser determinada. Vamos proceder da lei de conservação e transformação da energia. A mudança na energia das oscilações é igual ao trabalho médio da força de resistência ao longo do período, ou seja, Dividimos ambos os lados da equação por dt. À direita teremos dx/dt, ou seja. velocidade v, e à esquerda você obtém a derivada da energia em relação ao tempo. Portanto, levando em consideração Mas a energia cinética média igual a metade da energia total. Portanto, pode-se escrever que divida ambas as suas partes por E e multiplique por dt. Nós entendemos isso Integramos ambas as partes da equação resultante: Após a potenciação, obtemos A constante de integração C é encontrada a partir das condições iniciais. Seja em t = 0 E = E0, então E0 = C. Portanto, Mas E~A^2. Portanto, a amplitude das oscilações amortecidas também diminui de acordo com a lei exponencial:

E então, devido à resistência, a amplitude das oscilações diminui e elas geralmente ficam como mostradas na Fig. 4.2. O coeficiente é chamado de coeficiente de atenuação. No entanto, não caracteriza bem a atenuação. Normalmente, o amortecimento das oscilações é caracterizado pelo decremento do amortecimento. Este último mostra quantas vezes a amplitude de oscilação diminui ao longo de um tempo igual ao período de oscilação. Ou seja, o fator de amortecimento é definido da seguinte forma: O logaritmo do decremento de amortecimento é chamado de decremento logarítmico, é obviamente igual a

Vibrações forçadas

Se o sistema oscilatório é submetido à ação de uma força periódica externa, surgem as chamadas oscilações forçadas, que têm um caráter não amortecido. As oscilações forçadas devem ser distinguidas das auto-oscilações. No caso de auto-oscilações no sistema, assume-se um mecanismo especial que, em tempo com suas próprias oscilações, "entrega" pequenas porções de energia de algum reservatório de energia ao sistema. Assim, as oscilações naturais são mantidas, que não decaem. No caso de auto-oscilações, o sistema, por assim dizer, empurra a si mesmo. Os relógios podem servir como exemplo de um sistema auto-oscilante. O relógio está equipado com um mecanismo de catraca, com a ajuda do qual o pêndulo recebe pequenos choques (de uma mola comprimida) no tempo com suas próprias oscilações. No caso de oscilações forçadas, o sistema é empurrado por uma força externa. Abaixo nos deteremos neste caso, assumindo que a resistência no sistema é pequena e pode ser desprezada. Como modelo de oscilações forçadas, nos referiremos ao mesmo corpo suspenso em uma mola, que é afetado por uma força periódica externa (por exemplo, uma força de natureza eletromagnética). Sem levar em conta a resistência, a equação de movimento de tal corpo na projeção no eixo x tem a forma: onde w* é a frequência cíclica, B é a amplitude da força externa. Sabe-se que existem flutuações. Portanto, vamos procurar uma solução particular da equação na forma de uma função senoidal Substituímos a função na equação, para a qual derivamos duas vezes em relação ao tempo . A substituição leva à relação

A equação se torna uma identidade se três condições forem atendidas: . Então e a equação das oscilações forçadas pode ser representada como Eles ocorrem com uma frequência coincidente com a frequência da força externa, e sua amplitude não é definida arbitrariamente, como no caso de oscilações livres, mas é definida por si mesma. Este valor estabelecido depende da razão entre a frequência de oscilação natural do sistema e a frequência da força externa de acordo com a fórmula

H e fig. 4.3 mostra um gráfico da dependência da amplitude das oscilações forçadas na frequência da força externa. Pode-se observar que a amplitude das oscilações aumenta significativamente à medida que a frequência da força externa se aproxima da frequência das oscilações naturais. O fenômeno de um aumento acentuado na amplitude das oscilações forçadas quando a frequência natural e a frequência da força externa coincidem é chamado ressonância.

Na ressonância, a amplitude de oscilação deve ser infinitamente grande. Na realidade, na ressonância, a amplitude das oscilações forçadas é sempre finita. Isso é explicado pelo fato de que na ressonância e perto dela, nossa suposição de uma resistência insignificantemente pequena torna-se incorreta. Mesmo que a resistência no sistema seja pequena, ela é significativa em ressonância. Sua presença torna a amplitude de oscilação em ressonância um valor finito. Assim, o gráfico real da dependência da amplitude de oscilação na frequência tem a forma mostrada na Fig. 4.4. Quanto maior a resistência no sistema, menor a amplitude máxima no ponto de ressonância.

Via de regra, a ressonância em sistemas mecânicos é um fenômeno indesejável, e sua eles tentam evitar: eles tentam projetar estruturas mecânicas sujeitas a oscilações e vibrações de tal forma que a frequência natural das oscilações esteja longe dos valores possíveis das frequências de influências externas. Mas em vários dispositivos a ressonância é usada como um fenômeno positivo. Por exemplo, a ressonância de oscilações eletromagnéticas é amplamente utilizada em comunicações de rádio, a ressonância de raios g - em dispositivos de precisão.

    O estado do sistema termodinâmico. Processos

Estados termodinâmicos e processos termodinâmicos

Quando, além das leis da mecânica, é necessária a aplicação das leis da termodinâmica, o sistema é chamado de sistema termodinâmico. A necessidade de usar esse conceito surge se o número de elementos do sistema (por exemplo, o número de moléculas de gás) for muito grande e o movimento de seus elementos individuais for microscópico em comparação com o movimento do próprio sistema ou de seu macroscópico. componentes. Neste caso, a termodinâmica descreve os movimentos macroscópicos (mudanças nos estados macroscópicos) de um sistema termodinâmico.

Os parâmetros que descrevem tal movimento (mudanças) de um sistema termodinâmico são geralmente divididos em externos e internos. Esta divisão é muito condicional e depende da tarefa específica. Assim, por exemplo, um gás em um balão com casca elástica tem a pressão do ar circundante como parâmetro externo, e para um gás em um recipiente com casca rígida, o parâmetro externo é o volume limitado por essa casca. Em um sistema termodinâmico, volume e pressão podem variar independentemente um do outro. Para uma descrição teórica de sua mudança, é necessário introduzir pelo menos mais um parâmetro - temperatura.

Na maioria dos problemas termodinâmicos, três parâmetros são suficientes para descrever o estado de um sistema termodinâmico. Neste caso, as mudanças no sistema são descritas usando três coordenadas termodinâmicas associadas aos parâmetros termodinâmicos correspondentes.

Estado de equilibrio- um estado de equilíbrio termodinâmico - esse estado de um sistema termodinâmico é chamado, no qual não há fluxos (energia, matéria, momento, etc.), e os parâmetros macroscópicos do sistema são constantes e não mudam no tempo.

A termodinâmica clássica afirma que um sistema termodinâmico isolado (deixado a si mesmo) tende a um estado de equilíbrio termodinâmico e, após alcançá-lo, não pode abandoná-lo espontaneamente. Esta afirmação é muitas vezes chamada lei zero da termodinâmica.

Sistemas em estado de equilíbrio termodinâmico têm as seguintes propriedades mi:

Se dois sistemas termodinâmicos com contato térmico estão em estado de equilíbrio termodinâmico, então o sistema termodinâmico total também está em estado de equilíbrio termodinâmico.

Se qualquer sistema termodinâmico está em equilíbrio termodinâmico com dois outros sistemas, então esses dois sistemas estão em equilíbrio termodinâmico um com o outro.

Consideremos sistemas termodinâmicos que estão em estado de equilíbrio termodinâmico. A descrição de sistemas que estão em estado de não equilíbrio, ou seja, em estado onde ocorrem fluxos macroscópicos, é tratada pela termodinâmica de não equilíbrio. A transição de um estado termodinâmico para outro é chamada de processo termodinâmico. Abaixo consideraremos apenas processos quase estáticos ou, o que é o mesmo, processos de quase equilíbrio. O caso limite de um processo de quase-equilíbrio é um processo de equilíbrio infinitamente lento que consiste em estados continuamente sucessivos de equilíbrio termodinâmico. Na realidade, tal processo não pode prosseguir, no entanto, se as mudanças macroscópicas no sistema ocorrerem muito lentamente (ao longo de intervalos de tempo que excedem significativamente o tempo para estabelecer o equilíbrio termodinâmico), torna-se possível aproximar o processo real como quase-estático (quase-equilíbrio). ). Tal aproximação torna possível realizar cálculos com precisão suficientemente alta para uma grande classe de problemas práticos. Um processo de equilíbrio é reversível, ou seja, aquele em que um retorno aos valores dos parâmetros de estado ocorridos no momento anterior deve trazer o sistema termodinâmico ao estado anterior sem alterações nos corpos ao redor do sistema .

A aplicação prática de processos de quase-equilíbrio em quaisquer dispositivos técnicos é ineficaz. Assim, a utilização de um processo de quase-equilíbrio em uma máquina térmica, por exemplo, uma que ocorre a uma temperatura praticamente constante (veja a descrição do ciclo de Carnot no terceiro capítulo), inevitavelmente leva ao fato de que tal máquina irá funcionam muito devagar (no limite - infinitamente devagar) e têm uma potência muito pequena. Portanto, na prática, processos de quase-equilíbrio em dispositivos técnicos não são usados. No entanto, como as previsões da termodinâmica de equilíbrio para sistemas reais coincidem com uma precisão bastante alta com dados experimentais para tais sistemas, ela é amplamente utilizada para calcular processos termodinâmicos em vários dispositivos técnicos.

Se, durante um processo termodinâmico, o sistema retorna ao seu estado original, esse processo é chamado de circular ou cíclico. Os processos circulares, assim como quaisquer outros processos termodinâmicos, podem ser tanto em equilíbrio (e, portanto, reversíveis) quanto em não equilíbrio (irreversíveis). Em um processo circular reversível, após o sistema termodinâmico retornar ao seu estado original, nenhuma perturbação termodinâmica surge nos corpos que o cercam e seus estados permanecem em equilíbrio. Neste caso, os parâmetros externos do sistema, após a implementação do processo cíclico, retornam aos seus valores originais. Em um processo circular irreversível, após sua conclusão, os corpos circundantes passam para estados de não equilíbrio e os parâmetros externos do sistema termodinâmico mudam.

Método de amplitude complexa

A posição de um ponto em um plano pode ser especificada exclusivamente por um número complexo:

Se o ponto ($A$) girar, as coordenadas desse ponto mudam de acordo com a lei:

escreva $z$ na forma:

onde $Re(z)=x$, ou seja, a quantidade física x é igual à parte real da expressão complexa (4). Neste caso, o módulo da expressão complexa é igual à amplitude de oscilação -- $a$, seu argumento é igual à fase ($(\omega )_0t+\delta $). Às vezes, ao tomar a parte real de $z$, o sinal da operação Re é omitido e uma expressão simbólica é obtida:

A expressão (5) não deve ser interpretada literalmente. Muitas vezes simplificar formalmente (5):

onde $A=ae^(i \delta)$ é a amplitude de oscilação complexa. A natureza complexa da amplitude $A$ significa que a oscilação tem uma fase inicial diferente de zero.

Para revelar o significado físico de uma expressão como (6), assumimos que a frequência de oscilação ($(\omega )_0$) possui partes reais e imaginárias, e pode ser representada como:

Então a expressão (6) pode ser escrita como:

Se $(\omega )2>0,$ então a expressão (8) descreve oscilações harmônicas amortecidas com frequência circular $\omega1$ e índice de amortecimento $(\omega )_2$. Se $(\omega)_2

Comente

Muitas operações matemáticas podem ser realizadas em quantidades complexas como se as quantidades fossem reais. As operações são possíveis se elas próprias forem lineares e reais (como adição, multiplicação, diferenciação em relação a uma variável real e outras, mas não todas). Deve ser lembrado que quantidades complexas em si não correspondem a nenhuma quantidade física.

Método de diagrama vetorial

Deixe o ponto $A$ girar uniformemente em torno do círculo de raio $r$ (Fig.1), sua velocidade de rotação é $(\omega )_0$.

Imagem 1.

A posição do ponto $A$ no círculo pode ser especificada usando o ângulo $\varphi $. Este ângulo é:

onde $\delta =\varphi (t=0)$ é o ângulo de rotação do vetor raio $\overrightarrow(r)$ no momento inicial do tempo. Se o ponto $M$ gira, então sua projeção no eixo $X$ se move ao longo do diâmetro do círculo, fazendo oscilações harmônicas entre os pontos $M$ $N$. A abscissa de $A$ pode ser escrita como:

De maneira semelhante, flutuações de qualquer magnitude podem ser representadas.

Basta tirar a imagem da quantidade que oscila com a abcissa do ponto $A$, que gira uniformemente ao redor do círculo. Você pode, é claro, usar a ordenada:

Observação 1

Para representar as oscilações amortecidas, é necessário tomar não um círculo, mas uma espiral logarítmica, que se aproxima do foco. Se a velocidade de aproximação de um ponto que se move em espiral é constante e o ponto se move em direção ao foco, então a projeção deste ponto no eixo $ X fornecerá fórmulas para oscilações amortecidas.

Observação 2

Em vez de um ponto, você pode usar um vetor de raio que irá girar uniformemente em torno da origem. Em seguida, o valor que realiza as oscilações harmônicas será representado como uma projeção desse vetor no eixo $X$. Neste caso, as operações matemáticas sobre a quantidade $x$ são substituídas por operações sobre um vetor.

Então a operação de somar duas quantidades:

é mais conveniente substituir pela soma de dois vetores (usando a regra do paralelogramo). Os vetores são escolhidos de forma que suas projeções no $eixo X$ escolhido sejam as expressões $x_1\ e\ x_2$. Então o resultado da soma dos vetores na projeção no eixo x será igual a $x_1+\ x_2$.

Exemplo 1

Vamos demonstrar a aplicação do método dos diagramas vetoriais.

Então, vamos representar números complexos como vetores no plano complexo. Uma quantidade que muda de acordo com a lei harmônica é representada por um vetor que gira no sentido anti-horário em torno de sua origem com a frequência $(\omega )0$. O comprimento do vetor é igual à amplitude das oscilações.

Método gráfico para resolver, por exemplo, a equação:

onde $Z=R+i(\omega L-\frac(1)(\omega C))$ é a impedância, podemos representá-la com a ajuda da Fig.2. Esta figura mostra um diagrama vetorial de tensões em um circuito CA.

Figura 2.

Vamos levar em conta que a multiplicação de um valor complexo por uma unidade complexa significa sua rotação por um ângulo $90^0$ no sentido anti-horário e a multiplicação por ($-i$) pelo mesmo ângulo no sentido horário. Da Fig. 2 segue que:

onde $-\frac(\pi )(2)\le \varphi \le \frac(\pi )(2).$ A mudança no ângulo $\varphi $ depende da relação entre as impedâncias dos elementos do circuito e as frequências. A tensão externa pode mudar de fase, de coincidir com a tensão através da indutância, para coincidir com a tensão através da capacitância. Isso geralmente é expresso como uma relação entre as fases de tensão nos elementos do circuito e a fase da tensão externa:

    A fase da tensão no indutor $((U)L=i\omega LI)$ sempre adianta a fase da tensão externa por um ângulo de $0$ a $\pi .$

    A fase da tensão na capacitância $((U)C=-\frac(iI)(\omega C)$) sempre fica atrás da fase da tensão externa por um ângulo entre $0$ e --$\ \pi .$

    Nesse caso, a fase na resistência pode estar adiantada ou atrasada em relação à fase da tensão externa por um ângulo entre $\frac(\pi )(2)$ e $\frac(\pi )(2)$.

O diagrama vetorial (Fig. 2) nos permite formular o seguinte:

    A fase da tensão no indutor está adiantada em relação à fase da corrente em $\frac(\pi )(2)$.

    A fase de tensão de capacitância está $\frac(\eth )(2)\ $ atrás da fase atual.

    A fase da tensão através da resistência coincide com a fase da corrente.

Exemplo 2

Exercício: Demonstre que a operação de quadratura não pode ser aplicada a quantidades complexas como a números reais.

Solução:

Digamos que precisamos elevar ao quadrado um número real $x$. Resposta correta: $x^2$. Formalmente, aplicamos o método complexo. Vamos substituir:

$x\tox+iy$. Elevando a expressão resultante ao quadrado, obtemos:

\[(\left(x+iy\right))^2=x^2-y^2+2xyi\ \left(2.1\right).\]

A parte real da expressão (2.1) é:

\[(Re\left(x+iy\right))^2=Re\left(x^2-y^2+2xyi\right)=x^2-y^2\ne x^2.\]

A razão para o erro é que a operação de quadratura não é linear.


Vibrações harmônicas

Aqueles. de fato, o gráfico seno é obtido a partir da rotação do vetor, que é descrita pela fórmula:

F(x) = A sen (ωt + φ),

Onde A é o comprimento do vetor (amplitude de oscilação), φ é o ângulo inicial (fase) do vetor no tempo zero, ω é a velocidade angular de rotação, que é igual a:

ω=2 πf, onde f é a frequência em Hertz.

Como podemos ver, conhecendo a frequência, amplitude e ângulo do sinal, podemos construir um sinal harmônico.

A mágica começa quando acontece que a representação de absolutamente qualquer sinal pode ser representada como uma soma (muitas vezes infinita) de várias senoides. Em outras palavras, na forma de uma série de Fourier.
Vou dar um exemplo da Wikipedia em inglês. Vamos pegar um sinal de dente de serra como exemplo.


sinal de dente de serra

Seu valor será representado pela seguinte fórmula:

Se somarmos um por um, primeiro n=1, depois n=2, etc., veremos como nosso sinal senoidal harmônico se transforma gradualmente em uma serra:

Provavelmente a maneira mais bonita de ilustrar isso é um programa que encontrei na Internet. Já foi dito acima que o gráfico senoidal é uma projeção de um vetor rotativo, mas e os sinais mais complexos? Isso, curiosamente, é uma projeção de um conjunto de vetores rotativos, ou melhor, sua soma, e tudo se parece com isso:


Serra de desenho vetorial.

Em geral, recomendo que você siga o link e tente brincar com os parâmetros e veja como o sinal muda. IMHO Ainda não vi um brinquedo mais visual para compreensão.

Deve-se notar também que existe um procedimento inverso que permite obter a frequência, amplitude e fase inicial (ângulo) de um determinado sinal, que é chamado de Transformada de Fourier.


Expansão em série de Fourier de algumas funções periódicas conhecidas (aqui)

Não me deterei em detalhes, mas mostrarei como pode ser aplicado na vida. Na lista de referências vou recomendar onde você pode ler mais sobre o material.

Vamos aos exercícios práticos!

Parece-me que todo aluno faz uma pergunta, sentado em uma palestra, por exemplo, em matan: por que preciso de toda essa bobagem? E como regra, não tendo encontrado uma resposta no futuro próximo, infelizmente, ele perde o interesse pelo assunto. Portanto, mostrarei imediatamente a aplicação prática desse conhecimento e você já dominará esse conhecimento :).

Vou implementar tudo mais adiante neste site. Fiz tudo, claro, no Linux, mas não usei nenhum específico, em teoria o programa compilará e funcionará em outras plataformas.

Primeiro, vamos escrever um programa para gerar um arquivo de áudio. Um arquivo wav foi considerado o mais simples. Você pode ler sobre sua estrutura.
Resumindo, a estrutura do arquivo wav é descrita da seguinte forma: um cabeçalho que descreve o formato do arquivo, e então vem (no nosso caso) um array de dados de 16 bits (apontado) com um comprimento de: sample_rate*t segundos ou 44100 *t peças.

Um exemplo foi tomado para formar um arquivo de som. Modifiquei um pouco, corrigi os erros, e a versão final com minhas edições já está no github aqui

Vamos gerar um arquivo de som de dois segundos com uma frequência senoidal pura de 100 Hz. Para fazer isso, modificamos o programa da seguinte maneira:

#define S_RATE (44100) //taxa de amostragem #define BUF_SIZE (S_RATE*10) /* 2 segundos buffer */ …. int main(int argc, char * argv) ( ... float amplitude = 32000; //pega a amplitude máxima possível float freq_Hz = 100; // frequência do sinal /* preenche o buffer com uma onda senoidal */ for (i=0 ; eu

Chamo sua atenção para o fato de que a fórmula do seno puro corresponde à que falamos acima. A amplitude 32000 (era possível obter 32767) corresponde ao valor que um número de 16 bits pode assumir (de menos 32767 a mais 32767).

Como resultado, obtemos o seguinte arquivo (você pode até ouvi-lo com qualquer programa de produção de som). Vamos abrir este arquivo de audácia e ver que o gráfico de sinal realmente corresponde a um seno puro:


Seno de tubo puro

Vamos olhar para o espectro deste seno (Analysis-> Plot Spectrum)


Gráfico de espectro

Um pico limpo é visível a 100 Hz (escala logarítmica). O que é um espectro? Esta é a resposta de frequência. Há também uma resposta de fase. Se você se lembra, eu disse acima que para construir um sinal, você precisa saber sua frequência, amplitude e fase? Assim, você pode obter esses parâmetros do sinal. Neste caso, temos um gráfico de correspondência entre frequências e amplitude, e a amplitude não está em unidades reais, mas em decibéis.

Eu entendo que para explicar como o programa funciona, é necessário explicar o que é a transformada rápida de Fourier, e este é pelo menos mais um artigo azedo.

Primeiro, vamos alocar arrays:

C = calloc(size_array*2, sizeof(float)); // array de fatores de rotação in = calloc(size_array*2, sizeof(float)); //input array out = calloc(size_array*2, sizeof(float)); // array de saída

Deixe-me dizer que no programa nós lemos dados em um array de tamanho size_array (que nós pegamos do cabeçalho do arquivo wav).

While(fread(&value,sizeof(value),1,wav)) ( in[j]=(float)value; j+=2; if (j > 2*size_array) break; )

A matriz para a transformada rápida de Fourier deve ser uma sequência (re, im, re, im, ... re, im), onde fft_size=1<< p - число точек БПФ. Объясняю нормальным языком:
é uma matriz de números complexos. Tenho até medo de imaginar onde a transformada complexa de Fourier é usada, mas no nosso caso, a parte imaginária é igual a zero, e a parte real é igual ao valor de cada ponto do array.
Outra característica da Transformada Rápida de Fourier é que ela calcula matrizes que são apenas múltiplos de potências de dois. Como resultado, devemos calcular a potência mínima de dois:

Int p2=(int)(log2(header.bytes_in_data/header.bytes_by_capture));

O logaritmo do número de bytes nos dados dividido pelo número de bytes em um ponto.

Depois disso, calculamos os fatores de rotação:

Fft_make(p2,c); // função para calcular os fatores de rotação para a FFT (o primeiro parâmetro é uma potência de dois, o segundo é uma matriz alocada de fatores de rotação).

E alimentamos nosso array de leitura na transformada de Fourier:

Fft_calc(p2, c, dentro, fora, 1); //(um significa que obtemos um array normalizado).

Na saída, obtemos números complexos da forma (re, im, re, im, ... re, im). Para quem não sabe o que é um número complexo, vou explicar. Comecei este artigo por um motivo com um monte de vetores giratórios e um monte de GIFs. Assim, o vetor no plano complexo é determinado pela coordenada real a1 e pela coordenada imaginária a2. Ou comprimento (esta é a nossa amplitude Am) e ângulo Psi (fase).


Vetor no plano complexo

Observe que size_array=2^p2. O primeiro ponto da matriz corresponde à frequência de 0 Hz (constante), o último ponto corresponde à frequência de amostragem, ou seja, 44100 Hz. Como resultado, devemos calcular a frequência correspondente a cada ponto, que será diferente pela frequência delta:

Double delta=((float)header.frequency)/(float)size_array; //taxa de amostragem por tamanho de array.

Atribuímos uma série de amplitudes:

Duplo* amp; ampl = calloc(size_array*2, sizeof(double));

E olhe para a foto: a amplitude é o comprimento do vetor. E temos suas projeções no eixo real e imaginário. Como resultado, teremos um triângulo retângulo, e aqui lembramos o teorema de Pitágoras, calculamos o comprimento de cada vetor e o escrevemos imediatamente em um arquivo de texto:

Para(i=0;i<(size_array);i+=2) { fprintf(logfile,"%.6f %f\n",cur_freq, (sqrt(out[i]*out[i]+out*out))); cur_freq+=delta; }
O resultado é um arquivo que se parece com isso:

… 11.439514 10.943008 11.607742 56.649738 11.775970 15.652428 11.944199 21.872342 12.112427 30.635371 12.280655 30.329171 12.448883 11.932371 12.617111 20.777617 ...

Vamos tentar!

Agora alimentamos o programa resultante desse arquivo de som sine

./fft_an ../generate_wav/sin\ 100\ Hz.wav formato: 16 bits, PCM descompactado, canal 1, freq 44100, 88200 bytes por segundo, 2 bytes por captura, 2 bits por amostra, 882.000 bytes no bloco de dados= 441000 log2=18 tamanho array=262144 formato wav Max Freq = 99,928 , amp = 7216,136

E obtemos um arquivo de texto de resposta em frequência. Construímos seu gráfico usando gnuplot

Construir roteiro:

#! /usr/bin/gnuplot -persist set terminal postscript eps cor melhorada solid set output "result.ps" #set terminal png tamanho 800, 600 #set output "result.png" set grid xtics ytics set log xy set xlabel "Freq, Hz" set ylabel "Amp, dB" set xrange #set yrange plot "test.txt" usando título 1:2 "(!LANG:AFC" with lines linestyle 1 !}

Preste atenção na limitação no script quanto ao número de pontos em X: set xrange . Temos uma frequência de amostragem de 44100 e, se lembrarmos do teorema de Kotelnikov, a frequência do sinal não pode ser maior que a metade da frequência de amostragem, portanto, não estamos interessados ​​em um sinal acima de 22050 Hz. Por que, eu aconselho você a ler na literatura especial.
Então (rufar de tambores), execute o script e veja:


O espectro do nosso sinal

Observe o pico agudo em 100 Hz. Não esqueça que os eixos são logarítmicos! A lã à direita é, eu acho, erros de transformada de Fourier (as janelas vêm à mente aqui).

Vamos nos deliciar, vamos?

E vamos! Vamos ver os espectros de outros sinais!

Barulho ao redor...
Primeiro, vamos traçar o espectro de ruído. Tópico sobre ruído, sinais aleatórios, etc. merece um curso à parte. Mas vamos tocar um pouco nisso. Vamos modificar nosso programa de geração de arquivos wav, adicionar um procedimento:

Double d_random(double min, double max) ( return min + (max - min) / RAND_MAX * rand(); )

Ele irá gerar um número aleatório dentro do intervalo determinado. Como resultado, main ficará assim:

int main(int argc, char * argv) ( int i; float amplitude = 32000; srand((unsigned int)time(0)); //inicializa o gerador de números aleatórios para (i=0; i

Vamos gerar um arquivo , (recomendo ouvir). Vamos ver isso com audácia.


Sinal de audácia

Vamos olhar para o espectro em audácia.


Espectro

E vamos ver o espectro usando nosso programa:


Nosso espectro

Quero chamar a atenção para um fato e característica muito interessante do ruído - ele contém os espectros de todos os harmônicos. Como pode ser visto no gráfico, o espectro é bastante uniforme. Normalmente, o ruído branco é usado para análise de frequência da largura de banda de, por exemplo, equipamentos de áudio. Existem outros tipos de ruído: rosa, azul e outros. O dever de casa é descobrir como eles diferem.

E a compota?

E agora vamos ver outro sinal interessante - um meandro. Eu dei acima uma tabela de expansões de vários sinais em série de Fourier, você olha como o meandro é decomposto, anote em um pedaço de papel, e vamos continuar.

Para gerar um meandro com frequência de 25 Hz, modificamos novamente nosso gerador de arquivos wav:

int main(int argc, char * argv) ( int i; short int meandr_value=32767; /* preenche o buffer com uma onda senoidal */ for (i=0; i

Como resultado, obtemos um arquivo de áudio (novamente, aconselho você a ouvir), que você deve assistir imediatamente com audácia


Sua majestade é um meandro ou meandro de uma pessoa saudável

Não vamos definhar e olhar para o seu espectro:


espectro meandro

Até agora, não está muito claro o que é ... E vamos ver os primeiros harmônicos:


Primeiros harmônicos

Bem outro assunto! Bem, vamos olhar para a placa. Veja, só temos 1, 3, 5, etc., ou seja, harmônicos ímpares. Podemos ver que temos o primeiro harmônico de 25 Hz, o próximo (terceiro) 75 Hz, depois 125 Hz, etc., enquanto nossa amplitude diminui gradualmente. A teoria encontra a prática!
E agora atenção! Na vida real, nosso sinal meandro tem uma soma infinita de harmônicos de frequência cada vez mais alta, mas como regra, circuitos elétricos reais não podem passar frequências acima de uma determinada frequência (devido à indutância e capacitância dos trilhos). Como resultado, muitas vezes você pode ver o seguinte sinal na tela do osciloscópio:


Fumante meandro

Esta imagem é como uma imagem da wikipedia, onde nem todas as frequências são tomadas como exemplo de um meandro, mas apenas as primeiras.


A soma dos primeiros harmônicos e como o sinal muda

O meandro também é usado ativamente na engenharia de rádio (deve-se dizer que essa é a base de toda a tecnologia digital), e vale a pena entender que, com longas cadeias, ele pode ser filtrado para que sua própria mãe não o reconheça. Também é usado para verificar a resposta de frequência de vários dispositivos. Outro fato interessante é que os bloqueadores de TV funcionavam justamente no princípio dos harmônicos mais altos, quando o próprio microcircuito gerava um meandro de dezenas de MHz, e seus harmônicos mais altos podiam ter frequências de centenas de MHz, apenas na frequência da TV, e mais altas harmônicos bloquearam com sucesso o sinal de transmissão de TV.

Em geral, o tópico de tais experimentos é interminável e agora você pode continuar.


Livro

Para quem não entende o que estamos fazendo aqui, ou vice-versa, para quem entende, mas quer entender ainda melhor, assim como para os alunos que estudam DSP, recomendo muito este livro. Este é um DSP para manequins, que é o autor deste post. Lá, os conceitos mais complexos são contados em uma linguagem acessível até para uma criança.

Conclusão

Concluindo, quero dizer que a matemática é a rainha das ciências, mas sem aplicação real, muitas pessoas perdem o interesse por ela. Espero que este post o inspire a estudar um assunto tão maravilhoso como processamento de sinais e, em geral, circuitos analógicos (tampe seus ouvidos para que seu cérebro não vaze!). :)
Boa sorte!

Tag:

Adicionar etiquetas

A solução de uma série de questões, em particular a adição de várias oscilações da mesma direção (ou, o que é o mesmo, a adição de várias funções harmônicas), é bastante facilitada e fica clara se as oscilações forem representadas graficamente como vetores sobre um avião. O esquema obtido desta forma é chamado de diagrama vetorial.

Pegue o eixo, que denotamos pela letra x (Fig. 55.1). Do ponto O, tomado sobre o eixo, traçamos um vetor de comprimento a, formando um ângulo a com o eixo.

Se colocarmos esse vetor em rotação com uma velocidade angular , a projeção do final do vetor se moverá ao longo do eixo x na faixa de -a a +a, e a coordenada dessa projeção mudará ao longo do tempo de acordo com a lei

Portanto, a projeção da extremidade do vetor sobre o eixo realizará uma oscilação harmônica com amplitude igual ao comprimento do vetor, com frequência circular igual à velocidade angular de rotação do vetor e com fase inicial igual ao ângulo formado pelo vetor com o eixo no momento inicial do tempo.

Do que foi dito, segue-se que uma oscilação harmônica pode ser especificada usando um vetor cujo comprimento é igual à amplitude da oscilação, e a direção do vetor forma um ângulo com o eixo x igual à fase inicial da oscilação. oscilação.

Considere a adição de duas oscilações harmônicas de mesma direção e mesma frequência. O deslocamento x do corpo oscilante será a soma dos deslocamentos, que será escrito da seguinte forma:

Vamos representar ambas as flutuações com a ajuda de vetores (figo. 55.2). Vamos construir o vetor resultante a de acordo com as regras da adição de vetores.

É fácil ver que a projeção desse vetor no eixo x é igual à soma das projeções dos termos dos vetores:

Portanto, o vetor a representa a oscilação resultante. Esse vetor gira com a mesma velocidade angular dos vetores, de modo que o movimento resultante será uma oscilação harmônica com amplitude de frequência a e fase inicial a. Fica claro na construção que

Assim, a representação de oscilações harmônicas por meio de vetores permite reduzir a adição de várias oscilações à operação de adição de vetores. Esta técnica é especialmente útil, por exemplo, em óptica, onde as vibrações de luz em um determinado ponto são definidas como resultado de uma superposição de muitas vibrações que chegam a um determinado ponto de diferentes seções da frente de onda.

As fórmulas (55.2) e (55.3) podem, é claro, ser obtidas adicionando expressões (55.1) e realizando as transformações trigonométricas correspondentes. Mas a forma que usamos para obter essas fórmulas é mais simples e clara.

Analisemos a expressão (55.2) para a amplitude. Se a diferença de fase de ambas as oscilações for igual a zero, a amplitude da oscilação resultante será igual à soma de a e . Se a diferença de fase for igual a ou , ou seja, ambas as oscilações estão em antifase, então a amplitude da oscilação resultante é igual a

Se as frequências de oscilação não forem as mesmas, os vetores a e girarão em velocidades diferentes. Neste caso, o vetor resultante a pulsa em magnitude e gira a uma taxa não constante. Consequentemente, o movimento resultante neste caso não será uma oscilação harmônica, mas algum processo oscilatório complexo.