Ao desenvolver produtos, faço todo o meu design de algoritmo no Matlab. Eles geralmente são bem básicos, um filtro IIR ou FIR ou dois, alguns FFTs, etc. Quando chega a hora de movê-lo para um ambiente incorporado, sempre tenho dificuldade em decidir em qual plataforma executá-lo. Eu geralmente penso nessas plataformas (amplas):
- Núcleo DSP
- FPGA
- Microcontrolador
- BRAÇO
Que fatores devo considerar ao tentar tomar essa decisão?
Respostas:
Se você está mantendo "algoritmos padrão" como IIR, FIR, radix-2 ou 4 FFT (ou seja, coisas que se encaixam bem nas arquiteturas DSP sem muito fluxo de controle), você pode tentar o seguinte:
Conte quantos "multiplica acumulados" você precisa por segundo em todos os seus algoritmos.
fonte
Tanto quanto eu sei, o ARM deve ser considerado uma arquitetura e não uma plataforma. No entanto, a questão é bastante relevante sobre qual plataforma usar para o processamento do sinal RT (neste caso, áudio).
Você pode começar fazendo as seguintes perguntas, não em ordem estrita:
Eu começaria examinando o algoritmo em primeiro lugar. Se, por exemplo, você precisar de muitas operações FFTs e MAC, provavelmente poderá descartar a maioria dos microcontroladores e se concentrar mais nos núcleos DSP. Lembre-se de que também existem MCUs com núcleos DSP incorporados.
Outra consideração importante seria sua capacidade e experiência na área de implementação. A maioria das pessoas evita o FPGA porque você deve usar um HDL para a implementação. Outro motivo para fugir dos FPGAs é o requisito de energia.
fonte
Com apenas as informações fornecidas, a escolha é provavelmente ARM (IIRs e FIRs simples), mas há outros fatores a serem considerados, como requisitos de energia, requisitos de E / S, recursos adicionais que você espera implementar: Quanto tempo de desenvolvimento você economizaria se este dispositivo teve uma conexão de rede e uma API para modificar os parâmetros DSP no campo?
Você já pensou em expandir seu leque de opções para smartphones ou computadores compactos, como o Beagle Board? Você pode perceber que o processamento do sinal é apenas uma pequena parte de todo o problema que você está resolvendo.
fonte