Gere 128 pontos para o seguinte sinal:
Plote o sinal no domínio do tempo. Usando o método da transformada de Fourier, gere e plote o sinal no domínio da freqüência. Use a escala de no eixo X. Assuma a taxa de amostragem de . Verifique se os picos ocorrem onde era esperado para o domínio da freqüência.
Passo 1
O enunciado nos dá uma função representando um sinal no domínio do tempo e nos pede para:
- Plotar o sinal no domínio do tempo;
- Aplicar a transformada de Fourier no sinal para obtê-lo no domínio da frequência. Para isto, usaremos a função do MATLAB;
- Plotar o sinal do domínio da frequência, tendo as frequências em no eixo X do gráfico;
- Verificar se os picos do sinal ocorrem onde era esperado no domínio da frequência.
A partir do enunciado e da equação do sinal, que é uma onda senoidal, podemos obter algumas informações para entrarmos no MATLAB e resolvermos o exercício:
- O número de pontos que o sinal deve ter é ;
- A taxa de amostragem é de . Isto quer dizer que a frequência de amostragem é ;
- A partir da frequência de amostragem, obtemos o período em segundos do sinal: ;
- Uma onda senoidal normalmente tem o formato:
- Logo, podemos dizer que a amplitude do sinal é de ;
- E que a frequência do sinal é de .
Onde é a amplitude da onda e , a frequência em .
Para verificar se os picos do sinal ocorrem onde era esperado no domínio da frequência, devemos olhar o gráfico do sinal no domínio da frequência e ver se o pico ocorre na mesma frequência do sinal: .
Passo 2
Primeiramente, vamos entrar no MATLAB as informações fornecidas pelo enunciado, que foram listadas logo acima, no passo 1. Em um script novo, digite:
O número de pontos é armazenado na variável ; a frequência de amostragem na variável ; o período é calculado e armazenado na variável ; a amplitude da onda senoidal é armazenada na variável ; e, finalmente, a frequência do sinal é armazenada em .
Para fazermos a primeira coisa que o exercício pede – plotar o sinal no domínio do tempo – devemos criar um vetor representando o domínio do tempo a partir o comando:
Neste comando, cria-se primeiro um vetor que vai de a , com passo de (). Este vetor tem elementos, correspondendo aos pontos pedidos pelo enunciado. Em seguida, esse vetor é multiplicado por , que é o período, em segundos, da onda senoidal.
Vamos acrescentar esse comando para calcular o vetor no MATLAB e aproveitar e já gerar o sinal no domínio do tempo:
Tendo os vetores e , podemos plotar o sinal da onda senoidal no domínio do tempo, por meio dos comandos:
Na primeira linha, pedimos ao MATLAB para gerar uma figura com o comando , para termos o gráfico no domínio do tempo em uma janela diferente do gráfico no domínio da frequência (que também foi pedido no exercício e que geraremos mais pra frente, no mesmo script).
Em seguida, com o comando o gráfico do sinal no domínio do tempo é gerado.
Indicamos que o eixo horizontal do gráfico é o domínio do tempo por meio do comando . Temos no eixo vertical do gráfico os valores da onda senoidal, indicado por .
Vamos ver a carinha do sinal no domínio do tempo? Rodando o programa que escrevemos até agora, temos este gráfico:
Pronto! O primeiro item pedido pelo exercício está feito!
Passo 3
A segunda coisa que o exercício pede é usarmos a transformada de Fourier no sinal para obtermos a onda senoidal no domínio da frequência. Para isto, usaremos a função do MATLAB, incluindo a seguinte linha de código em nosso script:
Para calcular a transformada de Fourier, a função tem como entrada o vetor , que contém números reais representando o sinal no domínio do tempo. Já a saída é um vetor com números complexos: é a conversão de no domínio do tempo para o domínio da frequência. Os vetores e têm a mesma quantidade de elementos.
O segundo item pedido pelo exercício está feito (esse foi bem diretão XD)
Passo 4
Tendo executado o segundo item pedido pelo exercício, partimos para a terceira coisa que ele nos pede para fazer: plotar o sinal no domínio da frequência. Quando plotamos um sinal no domínio da frequência, normalmente temos no eixo Y do gráfico a magnitude do sinal obtido pela função . Para calcular a magnitude, usamos a função do MATLAB. Digite no MATLAB a linha de código:
Com esta linha, calculamos a magnitude de cada elemento do vetor usando a função do MATLAB. Quando a entrada da função é um número complexo, ela calcula sua magnitude.
Agora precisamos criar o eixo horizontal, representando o domínio da frequência. Para isto, digite os comandos:
Na primeira linha, calculamos o , que é o passo do domínio da frequência: ele começa em e as frequências seguintes são obtidas pela soma de à frequência anterior. O é calculado dividindo a frequência de amostragem pelo número de pontos e é armazenado na variável .
Na segunda linha, geramos o domínio da frequência, representado pelo vetor . A lógica da sua criação é igualzinha à lógica que usamos para criar o vetor , do domínio do tempo.
Primeiramente, cria-se um vetor que vai de a , com passo de (). Este vetor tem elementos, correspondendo aos pontos exigidos pelo enunciado. Em seguida, esse vetor é multiplicado por . Desta forma, é criado o domínio da frequência, que vai de a
Após criar o domínio da frequência, vamos usar novamente a função para gerar o gráfico da magnitude da onda senoidal no domínio da frequência:
Na primeira linha, pedimos ao MATLAB para gerar uma segunda figura com o comando , para termos o gráfico no domínio da frequência em uma janela diferente do gráfico no domínio do tempo.
Em seguida, o gráfico da magnitude de no domínio da frequência é criado com o comando Repare que, para plotar, usamos somente a primeira metade dos vetores com elementos e . Isso é indicado pela adição de à direita do nome do vetor, que diz ao MATLAB que queremos pegar do primeiro elemento ao elemento do vetor.
Usamos somente a primeira metade dos vetores e porque, no domínio da frequência, a partir de , as magnitudes começam a se repetir e não precisamos pôr elas no gráfico para encontrar o que o exercício pede.
Indicamos que o eixo horizontal do gráfico é o domínio da frequência por meio do comando . Temos no eixo vertical do gráfico a magnitude de , indicado por .
Vamos ver a cara do sinal do domínio da frequência? Executando o programa, temos:
Voilà! Terceiro item pedido pelo exercício feito ;D
Passo 5
A última coisa que o exercício pede para fazermos é verificar se os picos do sinal ocorrem onde era esperado no domínio da frequência. Para vermos isso, devemos olhar o gráfico do sinal no domínio da frequência e ver se o pico ocorre na mesma frequência do sinal: .
Vamos clicar no pico do gráfico gerado para ver suas coordenadas:
O pico ocorre em , que está bem próximo de . Logo, o pico do sinal ocorre onde era esperado.
Se quiser, faça alguns testes aumentando o , você verá que a frequência onde ocorre o pico ficará mais próxima de , até se tornar igual a .
Resposta
Gráfico do sinal no domínio do tempo:
Gráfico do sinal do domínio da frequência, tendo as frequências em no eixo X:
O pico do sinal ocorre onde era esperado no domínio da frequência: próximo de , que é a frequência do sinal .