Unidade 3 / 12

Processamento de Sinais: Filtros, Amostragem e Análise de Frequência

Ganhos:

  • Capacidade de construir e aplicar corretamente conceitos de amostragem, Nyquist e aliasing com suporte de IA
  • Capacidade de traduzir FFT, design de filtro e etapas de janelas em rascunhos de código e cálculos com IA
  • Capacidade de verificar resultados de processamento de sinal produzidos por IA com sinal de referência, controle de unidade e medição

O processamento de sinais é o coração da engenharia eletrônica e de comunicações: a arte de pegar uma onda de tensão, uma gravação de som, uma leitura de sensor ou um sinal de rádio e extrair as informações contidas nele, limpando seu ruído e transformando-o. Nesta unidade, você verá como usar IA para aprender conceitos de processamento de sinais, construir cálculos de filtros e transformações e realizar análises com código Python. Mas um aviso desde o início: um pequeno erro conceitual no processamento do sinal (frequência de amostragem errada, janela ignorada, unidade interferente) distorcerá completa e silenciosamente o resultado; O gráfico ainda parece bom, mas está errado. É por isso que é imperativo testar cada resultado que a IA produz em relação a um sinal de referência conhecido e ao controle da unidade.

Sampling e Nyquist: onde tudo começa

Para processar um sinal analógico (onda contínua) em um computador, medimos em determinados intervalos e o convertemos em um número; Isso é chamado de amostragem. É a frequência de amostragem (fs, unidade Hz) quantas amostras coletamos por segundo. O critério de Nyquist afirma que para recuperar um sinal com precisão, a frequência de amostragem deve ser pelo menos duas vezes a frequência mais alta do sinal. Se esta condição não for atendida, as altas frequências começam a parecer baixas; Isso é chamado de alias e os dados são corrompidos permanentemente porque você não consegue distinguir entre essas duas situações.

A IA explica muito bem esse conceito e pode demonstrá-lo com exemplos. Mas você decide ao escolher sua frequência de amostragem: qual é a largura de banda real do seu sinal, você tem um filtro analógico anti-aliasing, a que velocidade seu ADC (Conversor Analógico-Digital: o chip que converte o sinal analógico em número) realmente opera. A IA pode “sugerir” uma frequência de amostragem, mas esta sugestão é uma suposição sem medir o espectro real do seu sinal.

Dica: Ao fazer uma pergunta de amostragem à IA, especifique você mesmo a frequência e a largura de banda mais altas do seu sinal. "Se o componente mais alto do meu sinal for ~4 kHz, como devo escolher fs e onde devo colocar o filtro anti-aliasing?" como. Não faça a IA adivinhar o espectro; medir.

FFT e análise de frequência

FFT (Fast Fourier Transform) é um algoritmo rápido que converte um sinal do eixo do tempo para o eixo da frequência. Então, "quais frequências estão neste sinal e com quanta potência?" responde à pergunta. A IA se sai muito bem na implementação de FFT, na interpretação de resultados e na escrita de código Python (numpy/scipy). Mas existem erros comuns na FFT, e o código de IA pode incluí-los silenciosamente:

  • Escala do eixo de frequência: O eixo de frequência da saída FFT depende da frequência de amostragem. Se fs for inserido incorretamente, todas as frequências serão exibidas incorretamente, mas o gráfico parecerá normal.
  • Janelamento: Quando um pedaço finito de sinal é recebido, ocorre descontinuidade nas bordas e pseudo-espalhamento (vazamento espectral) é observado no espectro. Windows como Hann e Hamming reduzem isso. Se o código AI pular o janelamento, o resultado será enganoso.
  • Normalização de amplitude: A escala e a correção de janela são necessárias para converter a amplitude da saída FFT no valor físico real. Se omitido, as amplitudes estarão incorretas.

projeto de filtro

Um filtro é um circuito ou algoritmo que extrai frequências indesejadas de um sinal. Existem quatro tipos básicos: passa-baixa (passa baixas frequências), passa-alta, passa-banda e passa-banda (notch). Existem duas grandes famílias de filtros digitais: FIR (resposta ao impulso finita, fase estável e linear) e IIR (resposta ao impulso infinita, transição íngreme com menos cálculo, mas estabilidade e risco de fase).

AI explica as etapas de projeto de um filtro (frequência de corte, banda passante, atenuação de banda de parada, seleção de ordem) e escreve código de geração de coeficiente com scipy. Mas a frequência de corte do filtro que você projeta é normalizada (em relação à frequência de Nyquist), e inserir fs incorretamente aqui é um erro muito comum. Além disso, a estabilidade e a distorção de fase podem ser um problema em filtros IIR, e a latência pode ser um problema em sistemas de tempo real. Certifique-se de verificar o filtro gerado por IA com um gráfico de resposta de frequência e um sinal de teste conhecido.

três mini cases

Caso 1 — Vibração sobreposta. Um engenheiro testa a vibração de um motor a 1 kHz e vê um forte pico na FFT a 300 Hz. Esse pico, que não corresponde ao projeto do motor, é confuso. Na verdade, existe um componente real no motor em torno de 1300 Hz; A amostragem de 1 kHz é insuficiente para isso (Nyquist 500 Hz) e 1300 Hz se sobrepõem a 300 Hz. Depois de discutir com a IA “se esse pico é real ou aliasing” e aumentar a frequência de amostragem para 5 kHz, o pico aparece no local correto em 1300 Hz. Lição: em uma colina questionável, a primeira questão é a adequação da amostragem.

Caso 2 — Janela ignorada. Um estagiário solicita um código FFT da IA ​​e o executa. Ele espera um tom de teste de frequência única, mas vê uma ampla difusão em todo o espectro. O problema é que o código não faz janelamento (vazamento espectral). Diga à IA "adicionar janela de Hann e aplicar correção de amplitude" e a saída retornará ao pico agudo esperado. Lição: Teste o código FFT com um sinal de frequência única conhecido; Verifique a janela se há vazamento.

Caso 3 — Fs errado. Um engenheiro analisa os dados do gravador. O dispositivo gravou em 48 kHz, mas o padrão de 44,1 kHz foi inserido no código AI. Todas as frequências são deslocadas em 8%; Um tom de 1000 Hz aparece em 1088 Hz. O erro é encontrado ao verificar o fs real do equipamento de medição. Lição: a frequência de amostragem é o número mais crítico na cadeia de análise; deve ser verificado na fonte.

Modelos de prompt copiáveis

MODELO DE CONFIGURAÇÃO DE FFT "Escreva um código de análise FFT em Python (numpy/scipy). Entrada: frequência de amostragem fs = [valor] Hz, string de sinal 'x'. Deixe o código fazer O SEGUINTE: (1) Aplique a janela de Hann, (2) Obtenha FFT, (3) dimensione com precisão o eixo de frequência em relação a fs, (4) plote o espectro de amplitude unilateral com correção de janela. Em cada etapa do código "Por favor, indique na linha de comentário qual suposição você está fazendo para que eu possa verificar."

MODELO DE CONTROLE DE AMOSTRAGEM "A frequência significativa mais alta do meu sinal é aproximadamente [X] Hz. Explique a margem de Nyquist, a necessidade de um filtro anti-aliasing e a margem prática de segurança ao escolher uma frequência de amostragem. Sugira um intervalo, mas enfatize que devo verificar isso medindo o verdadeiro espectro do sinal."

MODELO DE PROJETO DE FILTRO "Projete um filtro digital de passagem [baixa/alta/banda] com scipy. Frequência de corte [X] Hz, frequência de amostragem fs=[Y] Hz. Compare as opções FIR e IIR (estabilidade, fase, atraso, carga computacional). Mostre claramente no código como a frequência de corte é normalizada para fs. Inclua também o código que valida o filtro com um gráfico de resposta de frequência."

MODELO DE VALIDAÇÃO DE RESULTADO "Examine o código de processamento de sinal abaixo e sinalize fontes de erros silenciosos: fs errado, janela ignorada, diafonia de unidade (Hz/kHz,V/mV), falta de normalização, diafonia de espectro simples/dupla face. Sugira como devo testar (com qual sinal de referência) para cada um. Código: [colar]."

Alerta fraco / Alerta forte

PROMPT FRACO: "Encontre a frequência deste sinal."

PROMPT FORTE: "Eu tenho uma matriz de sinais com uma frequência de amostragem de 10 kHz. Escreva um código Python que encontre os componentes de frequência dominantes com FFT; use a janela de Hann e correção de amplitude, dimensione o eixo de frequência de acordo com fs. No final do código, adicione um bloco de validação com um sinal de teste sintético de 1 kHz fs e veja se a escala está correta. "

O prompt fraco produz uma resposta livre de contexto e assume fs; Ele retorna parâmetros de prompt fortes e solicita um bloco de teste de autoverificação.

Tabela de unidades e suposições no processamento de sinais

conceito

erro frequente

verificação

Frequência de amostragem (fs)

Padrão em vez do FS real do dispositivo

Confirmação da configuração do gravador

eixo de frequência

Se fs estiver errado, todo o eixo muda

Tom de teste de frequência conhecido

Janelas

Vazamento espectral quando ignorado

Largura de pico em sinal monótono

Amplitude

Normalização/correção ausente

Comparação com sinal de amplitude conhecida

corte de filtro

normalizar erro de acordo com fs

Gráfico de resposta de frequência

Cuidado: Só porque um gráfico FFT parece suave e confiável não significa que seja preciso. Se o eixo de frequência for dimensionado incorretamente, todos os picos estarão no lugar errado, mas o gráfico parecerá perfeito. Sempre calibre com uma referência conhecida.

Erros comuns

  • Não verificar a frequência de amostragem da fonte. FS errado muda todas as frequências.
  • Violar Nyquist e não perceber o alias. Em colinas suspeitas, primeiro questione a adequação da amostragem.
  • Ignorando janelas na FFT. O vazamento espectral parece um pico real.
  • Esquecendo a normalização de amplitude. As amplitudes permanecem sem escala para o valor físico.
  • Normalizando incorretamente a frequência de corte do filtro para fs. O filtro corta em um local diferente do esperado.

Resumindo

Nesta unidade, você posicionou a IA como uma ajuda poderosa no aprendizado de conceitos de processamento de sinais, na escrita de FFT e código de filtro e na construção de análises. Mas no processamento de sinais, os resultados podem ser distorcidos silenciosamente: frequência de amostragem errada, janelas ignoradas, volume interferente ou falta de normalização tornam o gráfico bonito, mas impreciso. Portanto, teste cada código que a IA produz em relação a um sinal de referência conhecido, verifique a frequência de amostragem da fonte e teste cada resultado quanto à plausibilidade unitária e física. Confira o conceito de Nyquist e alias no início de cada análise.

Tarefa de aplicativo

Crie um sinal de teste sintético em Python: soma de duas frequências conhecidas (por exemplo, 1 kHz e 3 kHz), fs=10 kHz. Solicite o código de análise da IA ​​com o modelo “Configuração FFT” e verifique se os picos aparecem nas frequências corretas. Em seguida, insira deliberadamente o fs incorretamente (por exemplo, 8 kHz) e observe como os picos mudam. Finalmente, remova a janela e veja o vazamento espectral. Escreva os resultados de cada experimento em uma frase.

lista de verificação

  • [] Verifiquei a frequência de amostragem (fs) a partir da configuração real do gravador.
  • [ ] Verifiquei o critério de Nyquist e avaliei o risco de aliasing.
  • [] Verifiquei se o janelamento e a correção de amplitude estão implementados no código FFT.
  • [] Testei o código com um sinal de referência de frequência conhecida.
  • [] Verifiquei por resposta visual que a frequência de corte do filtro foi normalizada corretamente para fs.
  • [] Tornei todas as unidades (Hz/kHz, V/mV) consistentes.