Saturday 3 June 2017

Gr Moving Average Ff


Gnuradio. gr: Filtros gnuradio. gr. Fftfilterccc (int decimation. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps. Int nthreads 1) rarr grfftfiltercccsptr Filtro Fast FFT com entrada grcomplex, saída grcomplex e torneiras grcomplex. Grfftfiltercccsptr. Settaps (self. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) grfftfiltercccsptr. Taps (self) rarr std :: vectorlt (grcomplex, std :: allocatorlt (grcomplex) gt) gt gnuradio. gr. Fftfilterfff (int dizimação. Torneiras do flutuador. Int nthreads 1) rarr grfftfilterfffsptr Filtro Fast FFT com entrada flutuante, saída flutuante e torneiras flutuantes. Bloco de combinação de atraso de filtro. O bloco leva um ou dois fluxos flutuantes e produz um fluxo complexo. Se apenas um fluxo flutuante for inserido, a saída real é uma versão atrasada dessa entrada e a saída imaginária é a saída filtrada. Se dois flutuadores estiverem conectados à entrada, então a saída real é a versão atrasada da primeira entrada e a saída imaginária é a saída filtrada. O atraso no caminho real explica o atraso do grupo introduzido pelo filtro no caminho imaginário. As torneiras de filtro precisam ser calculadas antes de inicializar este bloco. Gnuradio. gr. Firfilterccc (int decimation. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) rarr grfirfiltercccsptr FIR filtro com entrada grcomplex, saída grcomplex e torneiras grcomplex. Grfirfiltercccsptr. Settaps (self. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) grfirfiltercccsptr. Taps (self) rarr std :: vectorlt (grcomplex, std :: allocatorlt (grcomplex) gt) gt gnuradio. gr. Firfilterccf (int dizimação. Torneiras de flutuador) rarr grfirfilterccfsptr Filtro FIR com entrada grcomplex, saída grcomplex e torneiras flutuantes. Grfirfilterccfsptr. Settaps (torneiras de flutuador próprio) grfirfilterccfsptr. Taps (self) rarr floatvector gnuradio. gr. Firfilterfcc (int decimation. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) rarr grfirfilterfccsptr Filtro FIR com entrada flutuante, saída grcomplex e torneiras grcomplex. Grfirfilterfccsptr. Settaps (self. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) grfirfilterfccsptr. Taps (self) rarr std :: vectorlt (grcomplex, std :: allocatorlt (grcomplex) gt) gt gnuradio. gr. Firfilterfff (int decimation. Torneiras do flutuador) rarr grfirfilterfffsptr Filtro FIR com entrada flutuante, saída flutuante e torneiras flutuantes. Filtro FIR com entrada flutuante, saída curta e torneiras flutuantes. Grfirfilterfsfsptr. Settaps (torneiras de flutuador próprio) grfirfilterfsfsptr. Taps (self) rarr floatvector gnuradio. gr. Firfilterscc (int decimation. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) rarr grfirfiltersccsptr Filtro FIR com entrada curta, saída grcomplex e torneiras grcomplex. Grfirfiltersccsptr. Settaps (self. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) grfirfiltersccsptr. Taps (self) rarr std :: vectorlt (grcomplex, std :: allocatorlt (grcomplex) gt) gt gnuradio. gr. Fractionalinterpolatorcc (flutuante phaseshift. Float interpratio) rarr grfractionalinterpolatorccsptr Interpolando o filtro mmse com entrada grcomplex, saída grcomplex. Grfractionalinterpolatorccsptr. Interpratio (self) rarr float grfractionalinterpolatorccsptr. Mu (self) rarr float grfractionalinterpolatorccsptr. Setinterpratio (self-float interpratio) grfractionalinterpolatorccsptr. Setmu (self. Float mu) gnuradio. gr. Interpolação fracionada (variação de fases do flutuador. Interpolação do flutuador) rarr grfractionalinterpolatorffsptr Filtro mmse interpolado com entrada flutuante, saída flutuante. Grfractionalinterpolatorffsptr. Interpratio (self) rarr float grfractionalinterpolatorffsptr. Mu (self) rarr float grfractionalinterpolatorffsptr. Setinterpratio (self-float interpratio) grfractionalinterpolatorffsptr. Setmu (self. Float mu) gnuradio. gr. Freqxlatingfirfilterccc (int decimation. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt torneiras. Doublefreck. Double samplingfreq) rarr grfreqxlatingfirfiltercccsptr FIR filtro combinado com tradução de freqüência com entrada grcomplex, saída grcomplex e torneiras grcomplex Esta classe de forma eficiente Combina uma tradução de frequência (tipicamente 8220down conversion8221) com um filtro FIR (tipicamente passe baixo) e decimação. É ideal para um filtro de seleção 8220channel8221 e pode ser usado eficientemente para selecionar e decimar um sinal de banda estreita com entrada de largura de banda ampla. Usa uma única matriz de entrada para produzir uma matriz de saída única. As entradas e saídas adicionais são ignoradas. Construa um filtro FIR com as torneiras fornecidas e uma tradução de freqüência composta que mude o centrofreq para baixo para zero Hz. A tradução de freqüência vem logicamente antes da operação de filtragem. Grfreqxlatingfirfiltercccsptr. Setcenterfreq (self. Double centerfreq) grfreqxlatingfirfiltercccsptr. Settaps (auto. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Freqxlatingfirfilterccf (int dizimação. Torneiras de flutuador. Ferfiltrocfcfcfpfpfpftrf) O filtro FIR combinado com conversão de freqüência com entrada grcomplex, saída grcomplex e torneiras flutuantes Esta classe combina eficientemente uma tradução de freqüência (normalmente conversão 8220down8221) com um filtro FIR (tipicamente baixo Passe) e dizimação. É ideal para um filtro de seleção 8220channel8221 e pode ser usado eficientemente para selecionar e decimar um sinal de banda estreita com entrada de largura de banda ampla. Usa uma única matriz de entrada para produzir uma matriz de saída única. As entradas e saídas adicionais são ignoradas. Construa um filtro FIR com as torneiras fornecidas e uma tradução de freqüência composta que mude o centrofreq para baixo para zero Hz. A tradução de freqüência vem logicamente antes da operação de filtragem. Grfreqxlatingfirfilterccfsptr. Setcenterfreq (self. Double centerfreq) grfreqxlatingfirfilterccfsptr. Settaps (torneiras de flutuador) gnuradio. gr. Freqxlatingfirfilterfcc (int dizimação. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt torneiras. Doublefreck. Double samplingfreq) rarr grfreqxlatingfirfilterfccsptr FIR filtro combinado com conversão de freqüência com entrada flutuante, saída grcomplex e torneiras grcomplex Esta classe de forma eficiente Combina uma tradução de frequência (tipicamente 8220down conversion8221) com um filtro FIR (tipicamente passe baixo) e decimação. É ideal para um filtro de seleção 8220channel8221 e pode ser usado eficientemente para selecionar e decimar um sinal de banda estreita com entrada de largura de banda ampla. Usa uma única matriz de entrada para produzir uma matriz de saída única. As entradas e saídas adicionais são ignoradas. Construa um filtro FIR com as torneiras fornecidas e uma tradução de freqüência composta que mude o centrofreq para baixo para zero Hz. A tradução de freqüência vem logicamente antes da operação de filtragem. Grfreqxlatingfirfilterfccsptr. Setcenterfreq (self. Double centerfreq) grfreqxlatingfirfilterfccsptr. Settaps (auto. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Freqxlatingfirfilterfcf (int dizimação, flutuador, torneiras, duplo fatorfreckffrefilterfcfsptr) Filtro FIR combinado com tradução de freqüência com entrada flutuante, saída grcomplex e torneiras flutuantes Esta classe combina eficientemente uma conversão de freqüência (tipicamente conversão 8220down8221) com um filtro FIR (tipicamente baixo Passe) e dizimação. É ideal para um filtro de seleção 8220channel8221 e pode ser usado eficientemente para selecionar e decimar um sinal de banda estreita com entrada de largura de banda ampla. Usa uma única matriz de entrada para produzir uma matriz de saída única. As entradas e saídas adicionais são ignoradas. Construa um filtro FIR com as torneiras fornecidas e uma tradução de freqüência composta que mude o centrofreq para baixo para zero Hz. A tradução de freqüência vem logicamente antes da operação de filtragem. Grfreqxlatingfirfilterfcfsptr. Setcenterfreq (self. Double centerfreq) grfreqxlatingfirfilterfcfsptr. Settaps (torneiras de flutuador) gnuradio. gr. Freqxlatingfirfilterscc (int dizimação. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt torções. Doublefrefowfreck. Double samplingfreq) rarr grfreqxlatingfirfiltersccsptr filtro FIR combinado com tradução de freqüência com entrada curta, saída grcomplex e torneiras grcomplex Esta classe de forma eficiente Combina uma tradução de frequência (tipicamente 8220down conversion8221) com um filtro FIR (tipicamente passe baixo) e decimação. É ideal para um filtro de seleção 8220channel8221 e pode ser usado eficientemente para selecionar e decimar um sinal de banda estreita com entrada de largura de banda ampla. Usa uma única matriz de entrada para produzir uma matriz de saída única. As entradas e saídas adicionais são ignoradas. Construa um filtro FIR com as torneiras fornecidas e uma tradução de freqüência composta que mude o centrofreq para baixo para zero Hz. A tradução de freqüência vem logicamente antes da operação de filtragem. Grfreqxlatingfirfiltersccsptr. Setcenterfreq (self. Double centerfreq) grfreqxlatingfirfiltersccsptr. Settaps (auto. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Freqxlatingfirfilterscf (int dizimação. Torneiras de flutuador, duplo fator de descarga centralfreq) rarr grfreqxlatingfirfilterscfsptr Filtro FIR combinado com conversão de freqüência com entrada curta, saída grcomplex e torneiras flutuantes Esta classe combina eficientemente uma tradução de freqüência (tipicamente conversão 8220down8221) com um filtro FIR (tipicamente baixo Passe) e dizimação. É ideal para um filtro de seleção 8220channel8221 e pode ser usado eficientemente para selecionar e decimar um sinal de banda estreita com entrada de largura de banda ampla. Usa uma única matriz de entrada para produzir uma matriz de saída única. As entradas e saídas adicionais são ignoradas. Construa um filtro FIR com as torneiras fornecidas e uma tradução de freqüência composta que mude o centrofreq para baixo para zero Hz. A tradução de freqüência vem logicamente antes da operação de filtragem. Grfreqxlatingfirfilterscfsptr. Setcenterfreq (self. Double centerfreq) grfreqxlatingfirfilterscfsptr. Settaps (torneiras de flutuador) gnuradio. gr. Hilbertfc (unsigned int ntaps) rarr grhilbertfcsptr saída real é entrada devidamente adiada. A saída imaginária é filtrada por hilbert (versão de fase de 90 graus) da entrada. Gnuradio. gr. Filtro IIR com entrada flutuante, saída flutuante e torneiras duplas Este filtro usa a implementação Direct Form I, onde contém as torneiras feed-forward e as respostas. A entrada e a saída satisfazem uma equação de diferença da forma yn-sum ak yn-k soma bk xn-k com a função do sistema racional correspondente Observe que alguns textos definem a função do sistema com a no denominador. Se você estiver usando essa convenção, you8217ll precisa negar as batidas de feedback. Griirfilterffdsptr. Settaps (autovectorial fftaps. Doublevector fbtaps) gnuradio. gr. Interpfirfilterccc (int interpolação. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) rarr grinterpfirfiltercccsptr Interpolando o filtro FIR com entrada grcomplex, saída grcomplex e torneiras grcomplex. Grinterpfirfiltercccsptr. Settaps (auto. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Interpfirfilterccf (int interpolação. Torneiras do flutuador) rarr grinterpfirfilterccfsptr Interpolação do filtro FIR com entrada grcomplex, saída grcomplex e torneiras flutuantes. Grinterpfirfilterccfsptr. Settaps (torneiras de flutuador) gnuradio. gr. Interpfirfilterfcc (int interpolação. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) rarr grinterpfirfilterfccsptr Interpolando o filtro FIR com entrada flutuante, saída grcomplex e torneiras grcomplex. Grinterpfirfilterfccsptr. Settaps (auto. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Interpfirfilterfff (interpolação int. Torneiras de flutuador) rarr grinterpfirfilterfffsptr Interpolação do filtro FIR com entrada flutuante, saída flutuante e torneiras flutuantes. Grinterpfirfilterfffsptr. Settaps (torneiras de flutuador) gnuradio. gr. Interpfirfilterfsf (interpolação int. Torneiras de flutuador) rarr grinterpfirfilterfsfsptr Interpolação de filtro FIR com entrada flutuante, saída curta e torneiras flutuantes. Grinterpfirfilterfsfsptr. Settaps (torneiras de flutuador) gnuradio. gr. Interpfirfilterscc (int interpolação. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) rarr grinterpfirfiltersccsptr Interpolando o filtro FIR com entrada curta, saída grcomplex e torneiras grcomplex. Grinterpfirfiltersccsptr. Settaps (auto. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Rational Resampling Filtro FIR Polyphase com entrada grcomplex, saída grcomplex e torneiras grcomplex (int interpolation. Int decimation. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) rarr grrationalresamplerbasecccsptr Rational Resampling Filtro polyphase FIR com entrada grcomplex, saída grcomplex e torneiras grcomplex. Grrationalresamplerbasecccsptr. Settaps (auto. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Rationalresamplerbaseccf (int interpolation. Int dizimação. Torneiras de flutuador) rarr grrationalresamplerbaseccfsptr Rational Resampling Filtro FIR Polyphase com entrada grcomplex, saída grcomplex e torneiras flutuantes. Grrationalresamplerbaseccfsptr. Settaps (torneiras de flutuador) gnuradio. gr. Rationalresamplerbasefcc (int interpolação. Int decimation. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) rarr grrationalresamplerbasefccsptr Rational Resampling Filtro polyphase FIR com entrada flutuante, saída grcomplex e torneiras grcomplex. Grrationalresamplerbasefccsptr. Settaps (auto. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Rationalresamplerbasefff (int interpolação. Int decimação. Torneiras do flutuador) rarr grrationalresamplerbasefffsptr Rational Resampling Filtro FIR Polyphase com entrada flutuante, saída flutuante e torneiras flutuantes. Grumpalresamplerbasefffsptr. Settaps (torneiras de flutuador) gnuradio. gr. Rationalresamplerbasefsf (int interpolação. Int decimation. Flutuador de torções) rarr grrationalresamplerbasefsfstr. Rational Resampling Polyphase FIR filtro com entrada de flutuador, saída curta e flutuação de torneiras. Grrationalresamplerbasefsfsptr. Settaps (torneiras de flutuador) gnuradio. gr. Rationalresamplerbasescc (int interpolação. Int decimation. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) rarr grrationalresamplerbasesccsptr Rational Resampling Polyphase FIR filtro com entrada curta, saída grcomplex e torneiras grcomplex. Grumpelresamplerbasesccsptr. Settaps (auto. Std :: vectorlt (grcomplex. Std :: allocatorlt (grcomplex) gt) gt taps) gnuradio. gr. Singlepoleiirfiltercc (double alpha. Unsigned int vlen 1) rarr grsinglepoleiirfilterccsptr filtro de um pólo IIR com entrada complexa, saída complexa A entrada e saída satisfazem uma equação de diferença da forma yn - (1-alfa) yn-1 alfa xn com o sistema racional correspondente Função Note que alguns textos definem a função do sistema com a no denominador. Se você estiver usando essa convenção, you8217ll precisa negar a resposta toque. Grsinglepoleiirfilterccsptr. Settaps (self. Double alpha) gnuradio. gr. Singlepoleiirfilterff (double alpha, unsigned int vlen 1) rarr grsinglepoleiirfilterffsptr filtro de um único pólo IIR com entrada flutuante, saída flutuante A entrada e saída satisfazem uma equação de diferença da forma yn - (1-alfa) yn-1 alfa xn com o sistema racional correspondente Função Note que alguns textos definem a função do sistema com a no denominador. Se você estiver usando essa convenção, you8217ll precisa negar a resposta toque. Grsinglepoleiirfilterffsptr. Settaps (self. Double alpha) gnuradio. gr. Moveaveragecc (int length. grcomplex scale. Int maxiter 4096) rarr grmovingaverageccsptr output é a soma móvel das últimas N amostras, escaladas pelo fator de escala maxiter limites quanto tempo nós vamos sem descarga o acumulador Isso é necessário para evitar a instabilidade numérica para flutuador e complexo. Grmovingaverageccsptr. Comprimento (auto) rarr int grmovingaverageccsptr. Escala (auto-) rarr grcomplex grmovingaverageccsptr. Setlengthandscale (tamanho de auto. Int. Escala grcomplex) gnuradio. gr. Mudança de tamanho (comprimento do int. Escala do flutuador) int maxiter 4096) rarr grmovingaverageffsptr saída é a soma móvel das últimas N amostras, escaladas pelo fator de escala limites maxiter quanto tempo vamos sem descarga o acumulador Isso é necessário para evitar a instabilidade numérica para flutuador e complexo. A saída é a soma móvel das últimas N amostras, escaladas pelo fator de escala limites maxiter quanto tempo vamos sem limpar o acumulador Isso é necessário para evitar instabilidade numérica para flutuador e complexo. A saída é a soma móvel das últimas N amostras, escaladas pelo fator de escala limites maxiter quanto tempo vamos sem limpar o acumulador Isso é necessário para evitar instabilidade numérica para flutuador e complexo. Grmovingaveragesssptr. Comprimento (auto) rarr int grmovingaveragesssptr. Escala (auto) rarr short grmovingaveragesssptr. Setlengthandscale (auto. Int length. Short scale) gnuradio. gr. Pfbarbresamplerccf (taxa de flutuação, torneiras de flutuador, filtragem int não assinada 32) rarr grpfbarbresamplerccfsptr Resplificador arbitrário de banco de filtros polifásico com entrada grcomplex, saída grcomplex e torneiras flutuantes. Este bloco leva um fluxo de sinal e executa uma reamostragem arbitrária. A taxa de remate pode ser qualquer número real. O reescalonamento é feito construindo filtros onde é a taxa de interpolação. Em seguida, calculamos onde. Usando e. Podemos realizar uma reamalamensão racional onde é um número racional próximo da taxa de entrada onde temos filtros e nós os atravessamos como um banco de filtros polifásico com um passo de tal forma. Para obter a taxa arbitrária, queremos interpolar entre dois pontos. Para cada valor, tiramos um resultado do filtro atual. E o próximo filtro e depois interpolam linearmente entre os dois com base na taxa de re-amostragem real que queremos. A interpolação linear apenas nos fornece uma aproximação da taxa de amostragem real especificada. O erro é um erro de quantificação entre os dois filtros que usamos como nossos pontos de interpolação. Para este fim, o número de filtros. Usado determina o erro de quantização maior. Menor o ruído. Você pode projetar para um nível de ruído especificado, definindo o tamanho do filtro (parâmetros). O tamanho padrão é 32 filtros, o que é tão bom quanto a maioria das implementações precisam. O truque com o design deste filtro é sobre como especificar as torneiras do protótipo de filtro. Como o interpolador PFB, as torneiras são especificadas usando a taxa de filtro interpolada. Nesse caso, essa taxa é a taxa de amostragem de entrada multiplicada pelo número de filtros no banco de filtros, que também é a taxa de interpolação. Todos os outros valores devem ser relativos a essa taxa. Por exemplo, para um resamplificador arbitrário de 32 filtros e usando o utilitário GNU Radio8217s firdes para construir o filtro, criamos um filtro passa-baixa com uma taxa de amostragem de. Uma largura de banda de 3 dB e uma largura de banda de transição de. Também podemos especificar a atenuação fora de banda para usar. E a função da janela do filtro (uma janela Blackman-harris neste caso). A primeira entrada é o ganho do filtro, que especificamos aqui como a taxa de interpolação (). A teoria por trás desse bloco pode ser encontrada no capítulo 7.5 do seguinte livro. Crie o resamplificador de arbitraçao de banco de filtros polifásico. Imprima todas as torneiras do banco de filtros na tela. Grpfbarbresamplerccfsptr. Setrate (self. Float rate) gnuradio. gr. Pfbchannelizerccf (unsigned int numchans. Torneiras de flutuador. Float oversamplerate 1) rarr grpfbchannelizerccfsptr Mecanizador de banco de filtros em polifase com entrada grcomplex, saída grcomplex e torneiras flutuantes. Este bloco possui entradas complexas e canaliza-lo para canais de largura de banda igual. Cada um dos canais resultantes é dizimado à nova taxa que é a taxa de amostragem de entrada dividida pelo número de canais. O código do canalizador PFB leva as torneiras geradas acima e cria um conjunto de filtros. O conjunto contém um número de filtros e cada filtro contém um número de torneiras (taps. size () decim). Cada toque do protótipo do filtro é inserido seqüencialmente no próximo filtro. Quando todas as torneiras de entrada são usadas, os filtros restantes no banco de filtros são preenchidos com 08217s para garantir que cada filtro tenha o mesmo número de torneiras. Cada filtro opera usando as classes de filtro grfir do GNU Radio, que leva o fluxo de entrada e executa o cálculo interno do produto para onde está o número de torneiras de filtro. Para gerenciar eficientemente isso na estrutura de Rádio GNU, cada entrada de filtro deve vir de seu próprio fluxo de entrada. Portanto, o canalizador deve ser fornecido com fluxos onde o fluxo de entrada foi desintercalado. Isso é mais fácil de usar usando o bloco grstreamtostreams. A saída é então produzida como um vetor, onde o índice no vetor é a próxima amostra do canal th. Isso é mais facilmente manuseado enviando a saída para um bloco grvectortostreams para lidar com a conversão e a passagem de fluxos. A formatação de entrada e saída é feita usando um hierblock2 chamado pfbchannelizerccf. Isso pode levar em um único fluxo e gerar fluxos com base no comportamento descrito acima. Os toques do filtro8217s devem ser baseados na taxa de amostragem de entrada. Por exemplo, usando o utilitário GNU Radio8217s firdes para a construção de filtros, criamos um filtro passa-baixa com uma taxa de amostragem de. Uma largura de banda de 3 dB e uma largura de banda de transição de. Também podemos especificar a atenuação fora de banda para usar. E a função da janela do filtro (uma janela Blackman-harris neste caso). A primeira entrada é o ganho do filtro, que especificamos aqui como unidade. A saída do filtro também pode ser ampliada. A taxa de amostragem excedente é a proporção da taxa de amostragem de saída real para a taxa de amostragem de saída normal. Deve ser racionalmente relacionado ao número de canais como Ni para i em 1, N, o que fornece uma taxa amostral de fsN, fs onde fs é a taxa de amostragem de entrada e N é o número de canais. Por exemplo, para 6 canais com fs 6000 Hz, a taxa normal é 60006 1000 Hz. As taxas de sobreaplicação permitidas são 66, 65, 64, 63, 62 e 61, onde a taxa de amostra de saída de uma relação de oversample 61 é de 6000 Hz, ou 6 vezes a 1000 Hz normal. Uma taxa de 65 1,2, de modo que a taxa de saída seria de 1200 Hz. A teoria por trás desse bloco pode ser encontrada no Capítulo 6 do seguinte livro. Construa o decimador de banco de filtros polifásico. Por exemplo, para 6 canais com fs 6000 Hz, a taxa normal é 60006 1000 Hz. As taxas de sobreaplicação permitidas são 66, 65, 64, 63, 62 e 61, onde a taxa de amostra de saída de uma relação de oversample 61 é de 6000 Hz, ou 6 vezes a 1000 Hz normal. Restaura as torneiras do filtro filterbank8217s com o novo protótipo de filtro gnuradio. gr. Pfbclocksyncccf (sps duplo. Flutuador loopbw. Torneiras de flutuador. Filtros de filtros não assinados 32. float initphase 0. float maxratedeviation 1.5. Int osps 1) rarr grpfbclocksyncccfsptr Sincronizador de tempo usando bancos de filtros polifásicos. Este bloco executa sincronização de temporização para sinais PAM minimizando a derivada do sinal filtrado, que por sua vez maximiza o SNR e minimiza o ISI. Esta abordagem funciona configurando dois bancos de filtros. Um banco de filtros contém o filtro correspondente de moldagem de impulsos do sinal8217s (como um filtro de coseno subido por raiz), onde cada ramo do banco de filtros contém uma fase diferente do filtro. O segundo banco de filtros contém os derivados dos filtros no primeiro banco de filtros. Pensando nisso no domínio do tempo, o primeiro banco de filtros contém filtros que têm uma forma sinc. Queremos alinhar o sinal de saída a ser amostrado exatamente no pico da forma sinc. A derivada do sinc contém um zero no ponto máximo do sinc (sinc (0) 1, sinc (0) 8217 0). Além disso, a região ao redor do ponto zero é relativamente linear. Utilizamos esse fato para gerar o sinal de erro. Se o sinal dos filtros derivados for din para o i-ésimo filtro, e a saída do filtro correspondente é xin, calculamos o erro como: en (Re Re Im Im) 2.0 Esta equação projeta o erro nas partes real e imaginária . Há duas razões pelas quais nós multiplicamos pelo próprio sinal. Primeiro, se o símbolo puder ser positivo ou negativo, mas queremos que o termo de erro sempre nos diga para ir na mesma direção dependendo do lado do ponto zero em que estamos. O sinal de xin ajusta o termo de erro para fazer isso. Em segundo lugar, a magnitude de xin escala o termo de erro dependendo da amplitude do simbolo 8217, então os sinais maiores nos dão um termo de erro mais forte porque temos mais confiança nesse valor do simbolo 8217s. Usar a magnitude de xin em vez de apenas o sinal é especialmente bom para sinais com baixo SNR. O sinal de erro, en, nos dá um valor proporcional ao quão longe do ponto zero, estamos no sinal derivado. Queremos direcionar esse valor para zero, então configuramos um loop de segunda ordem. Temos duas variáveis ​​para este loop dk é o número do filtro no banco de filtros em que estamos e drate é a taxa que nós viajamos através dos filtros no estado estacionário. Isto é, devido às diferenças naturais do relógio entre o transmissor e o receptor, drate representa essa diferença e atravessaria os caminhos de fase do filtro para manter o receptor bloqueado. Pensando nisso como um PLL de segunda ordem, o drate é a freqüência e dk é a fase. Então, atualizamos drate e dk usando as equações de loop padrão com base em dois sinais de erro, dalpha e dbeta. Nós temos esses dois valores definidos um com o outro para um sistema amortecido criticamente, então no construtor de blocos, apenas pedimos 8220gain, 8221 que é dalpha enquanto dbeta é igual a (gain2) 4. Os parâmetros do bloco8217s são: Construa o sincronizador de sincronização de filtro de filtro polifásico. Retorna o gancho de loop alfa. Retorna o beta do loop gain. Grpfbclocksyncccfsptr. Getchanneltaps (self. Int channel) rarr floatvector Retorna as torneiras do filtro correspondente para um canal específico Retorna a taxa de clock atual. Grpfbclocksyncccfsptr. Getdampingfactor (self) rarr float Retorna o fator de amortecimento do loop. Grpfbclocksyncccfsptr. Getdiffchanneltaps (self. Int channel) rarr floatvector Retorna as torneiras no filtro derivado para um canal particular grpfbclocksyncccfsptr. Getdifftaps (self) rarr dummy5 Retorna todas as torneiras do filtro derivado grpfbclocksyncccfsptr. Getdifftapsasstring (self) rarr string Devolve os toques de filtro derivado como uma string formatada para imprimir grpfbclocksyncccfsptr. Getloopbandwidth (self) rarr float Retorna a largura de banda do loop. Retorna todas as torneiras do filtro correspondente grpfbclocksyncccfsptr. Gettapsasstring (self) rarr string Retorna as torneiras como uma string formatada para impressão. Configure o gancho de loop alfa. Set8217s o parâmetro de ganho alfa filter8217s do loop. Esse valor realmente só deve ser configurado ajustando a largura de banda e o fator de amortecimento do loop. Defina o beta do loop gain. Set8217s o parâmetro de ganho beta do loop filter8217s. Esse valor realmente só deve ser configurado ajustando a largura de banda e o fator de amortecimento do loop. Defina o fator de amortecimento do loop. Defina o fator de amortecimento do loop filter8217s para. O fator de amortecimento deve ser sqrt (2) 2.0 para sistemas criticamente amortecidos. Ajuste-o para mais nada se você souber o que está fazendo. Deve ser um número entre 0 e 1. Quando um novo fator de amortecimento é definido, os ganhos, alfa e beta, do loop são recalculados por uma chamada para updategains (). Defina a largura de banda do loop. Defina a largura de banda do loop filter8217s para. Isso deve estar entre 2pi200 e 2pi100 (em radssamp). Também deve ser um número positivo. Quando um novo fator de amortecimento é definido, os ganhos, alfa e beta, do loop são recalculados por uma chamada para updategains (). Defina o desvio máximo de 0 drate pode ter grpfbclocksyncccfsptr. Settaps (torneiras de flutuador de auto. Dummy5 ourtaps. Std :: vectorlt (p. grfirccf. Std :: allocatorlt (p. grfirccf) gt) gt ourfilter) Restaura as torneiras de filtro filterbank8217s com o novo protótipo de filtro gnuradio. gr. Pfbclocksyncfff (sps duplo. Ganho de flutuação. Torneiras de flutuador. Filtros de filtros não assinados 32. float initphase 0. float maxratedeviation 1.5) rarr grpfbclocksyncfffsptr Sincronizador de tempo usando bancos de filtros de polifase. Este bloco executa sincronização de temporização para sinais PAM minimizando a derivada do sinal filtrado, que por sua vez maximiza o SNR e minimiza o ISI. Esta abordagem funciona configurando dois bancos de filtros. Um banco de filtros contém o filtro correspondente de moldagem de impulsos do sinal8217s (como um filtro de coseno subido por raiz), onde cada ramo do banco de filtros contém uma fase diferente do filtro. O segundo banco de filtros contém os derivados dos filtros no primeiro banco de filtros. Pensando nisso no domínio do tempo, o primeiro banco de filtros contém filtros que têm uma forma sinc. Queremos alinhar o sinal de saída a ser amostrado exatamente no pico da forma sinc. A derivada do sinc contém um zero no ponto máximo do sinc (sinc (0) 1, sinc (0) 8217 0). Além disso, a região ao redor do ponto zero é relativamente linear. Utilizamos esse fato para gerar o sinal de erro. Se o sinal dos filtros derivados for din para o i-ésimo filtro, e a saída do filtro correspondente é xin, calculamos o erro como: en (Re Re Im Im) 2.0 Esta equação projeta o erro nas partes real e imaginária . Há duas razões pelas quais nós multiplicamos pelo próprio sinal. Primeiro, se o símbolo puder ser positivo ou negativo, mas queremos que o termo de erro sempre nos diga para ir na mesma direção dependendo do lado do ponto zero em que estamos. O sinal de xin ajusta o termo de erro para fazer isso. Em segundo lugar, a magnitude de xin escala o termo de erro dependendo da amplitude do simbolo 8217, então os sinais maiores nos dão um termo de erro mais forte porque temos mais confiança nesse valor do simbolo 8217s. Usar a magnitude de xin em vez de apenas o sinal é especialmente bom para sinais com baixo SNR. O sinal de erro, en, nos dá um valor proporcional ao quão longe do ponto zero, estamos no sinal derivado. Queremos direcionar esse valor para zero, então configuramos um loop de segunda ordem. Temos duas variáveis ​​para este loop dk é o número do filtro no banco de filtros em que estamos e drate é a taxa que nós viajamos através dos filtros no estado estacionário. Isto é, devido às diferenças naturais do relógio entre o transmissor e o receptor, drate representa essa diferença e atravessaria os caminhos de fase do filtro para manter o receptor bloqueado. Pensando nisso como um PLL de segunda ordem, o drate é a freqüência e dk é a fase. Então, atualizamos drate e dk usando as equações de loop padrão com base em dois sinais de erro, dalpha e dbeta. Nós temos esses dois valores definidos um com o outro para um sistema amortecido criticamente, então no construtor de blocos, apenas pedimos 8220gain, 8221 que é dalpha enquanto dbeta é igual a (gain2) 4. Os parâmetros do bloco8217s são: Construa o sincronizador de sincronização de filtro de filtro polifásico. Grpfbclocksyncfffsptr. channeltaps ( self . int channel ) rarr floatvector Returns the taps of the matched filter grpfbclocksyncfffsptr. diffchanneltaps ( self . int channel ) rarr floatvector Returns the taps in the derivative filter Print all of the filterbank taps of the derivative filter to screen. Print all of the filterbank taps to screen. Set the gain value alpha for the control loop Set the gain value beta for the control loop Set the maximum deviation from 0 drate can have grpfbclocksyncfffsptr. settaps ( self . floatvector taps . dummy5 ourtaps . std::vectorlt(p. grfirfff . std::allocatorlt(p. grfirfff)gt)gt ourfilter ) Resets the filterbank8217s filter taps with the new prototype filter gnuradio. gr. pfbdecimatorccf ( unsigned int decim . floatvector taps . unsigned int channel ) rarr grpfbdecimatorccfsptr Polyphase filterbank bandpass decimator with grcomplex input, grcomplex output and float taps. This block takes in a signal stream and performs interger down - sampling (decimation) with a polyphase filterbank. The first input is the integer specifying how much to decimate by. The second input is a vector (Python list) of floating-point taps of the prototype filter. The third input specifies the channel to extract. By default, the zeroth channel is used, which is the baseband channel (first Nyquist zone). The parameter specifies which channel to use since this class is capable of bandpass decimation. Given a complex input stream at a sampling rate of and a decimation rate of. the input frequency domain is split into channels that represent the Nyquist zones. Using the polyphase filterbank, we can select any one of these channels to decimate. The output signal will be the basebanded and decimated signal from that channel. This concept is very similar to the PFB channelizer (see grpfbchannelizerccf) where only a single channel is extracted at a time. The filter8217s taps should be based on the sampling rate before decimation. For example, using the GNU Radio8217s firdes utility to building filters, we build a low-pass filter with a sampling rate of. a 3-dB bandwidth of and a transition bandwidth of. We can also specify the out-of-band attenuation to use. and the filter window function (a Blackman-harris window in this case). The first input is the gain of the filter, which we specify here as unity. The PFB decimator code takes the taps generated above and builds a set of filters. The set contains number of filters and each filter contains ceil(taps. size()decim) number of taps. Each tap from the filter prototype is sequentially inserted into the next filter. When all of the input taps are used, the remaining filters in the filterbank are filled out with 08217s to make sure each filter has the same number of taps. The theory behind this block can be found in Chapter 6 of the following book. Build the polyphase filterbank decimator. Resets the filterbank8217s filter taps with the new prototype filter gnuradio. gr. pfbinterpolatorccf ( unsigned int interp . floatvector taps ) rarr grpfbinterpolatorccfsptr Polyphase filterbank interpolator with grcomplex input, grcomplex output and float taps. This block takes in a signal stream and performs interger up - sampling (interpolation) with a polyphase filterbank. The first input is the integer specifying how much to interpolate by. The second input is a vector (Python list) of floating-point taps of the prototype filter. The filter8217s taps should be based on the interpolation rate specified. That is, the bandwidth specified is relative to the bandwidth after interpolation. For example, using the GNU Radio8217s firdes utility to building filters, we build a low-pass filter with a sampling rate of. a 3-dB bandwidth of and a transition bandwidth of. We can also specify the out-of-band attenuation to use, ATT, and the filter window function (a Blackman-harris window in this case). The first input is the gain, which is also specified as the interpolation rate so that the output levels are the same as the input (this creates an overall increase in power). The PFB interpolator code takes the taps generated above and builds a set of filters. The set contains number of filters and each filter contains ceil(taps. size()interp) number of taps. Each tap from the filter prototype is sequentially inserted into the next filter. When all of the input taps are used, the remaining filters in the filterbank are filled out with 08217s to make sure each filter has the same number of taps. The theory behind this block can be found in Chapter 7.1 of the following book. Build the polyphase filterbank interpolator. Print all of the filterbank taps to screen. Resets the filterbank8217s filter taps with the new prototype filterDebugging in gnuradio I am having a hard time with a quotsegmentation faultquot error. I am no expert in python (I just started to use it last week) but I find it difficult to believe that a segmentation fault error would appear in python code. However, I am not using any block made by me. So this is the part of my code where there is an segmentation fault: def measurecallback(self, kv): print quotMeasuringquot if self. stateSNRMEASURE: print quotMeasuring SNRquot self. lock() self. disconnect((self. grfilesource0, 0), (self. grthrottle0,0), self. fftsink) self. connect((self. grfilesource0, 0), (self. grcomplextomagsquared0, 0), (self. grmovingaverageff1, 0), (self. grmultiplyconstff0, 0), self. pwrmeasure) self. unlock() time. sleep(5) snrval10math. log(self. pwrmeasure. level()) print quotSNR measured quot, snrval self. lock() self. disconnect((self. grfilesource0, 0),(self. grcomplextomagsquared0, 0), (self. grmovingaverageff1, 0), (self. grmultiplyconstff0, 0), self. pwrmeasure) self. connect((self. grfilesource0, 0), self. grthrottle0, self. fftsink) self. unlock() So basically I am reading a signal from a filesource and showing its FFT on a graphical interface. Then when there is a callback from a button I made, this measurecallback(self, kv) is called and I change my circuit to measure SNR. I used some prints and discovered that the quotsegmentation faultquot happens at quottime. sleep(5)quot. Ri muito. Furthermore, the error doesnt happen all the times I run this code. Unfortunately, I dont know any type of debugging programs for gnuradio (I dont know if there is one) but it would be very handy because with just a quotSegmentation Faultquot message with no traceback it is difficult to know what to do. So, any suggestion about what might be causing this problem Open this post in threaded view Report Content as Inappropriate Re: Debugging in gnuradio It seems I found the solution, in spite of not knowing the reason. I just have to re-assign a new block to each block variable every time I re-connect them. It seems that connecting and disconnecting the same blocks several times was the cause for the segmentation fault. I am having a hard time with a quotsegmentation faultquot error. I am no expert in python (I just started to use it last week) but I find it difficult to believe that a segmentation fault error would appear in python code. However, I am not using any block made by me. So this is the part of my code where there is an segmentation fault: def measurecallback(self, kv): print quotMeasuringquot if self. stateSNRMEASURE: print quotMeasuring SNRquot self. lock() self. disconnect((self. grfilesource0, 0), (self. grthrottle0,0), self. fftsink) self. connect((self. grfilesource0, 0), (self. grcomplextomagsquared0, 0), (self. grmovingaverageff1, 0), (self. grmultiplyconstff0, 0), self. pwrmeasure) self. unlock() time. sleep(5) snrval10math. log(self. pwrmeasure. level()) print quotSNR measured quot, snrval self. lock() self. disconnect((self. grfilesource0, 0),(self. grcomplextomagsquared0, 0), (self. grmovingaverageff1, 0), (self. grmultiplyconstff0, 0), self. pwrmeasure) self. connect((self. grfilesource0, 0), self. grthrottle0, self. fftsink) self. unlock() So basically I am reading a signal from a filesource and showing its FFT on a graphical interface. Then when there is a callback from a button I made, this measurecallback(self, kv) is called and I change my circuit to measure SNR. I used some prints and discovered that the quotsegmentation faultquot happens at quottime. sleep(5)quot. Ri muito. Furthermore, the error doesnt happen all the times I run this code. Unfortunately, I dont know any type of debugging programs for gnuradio (I dont know if there is one) but it would be very handy because with just a quotSegmentation Faultquot message with no traceback it is difficult to know what to do. So, any suggestion about what might be causing this problem On Thu, Apr 5, 2012 at 5:11 AM, frankist lthidden email gt wrote: gt gt It seems I found the solution, in spite of not knowing the reason. gt gt I just have to re-assign a new block to each block variable every time I gt re-connect them. It seems that connecting and disconnecting the same blocks gt several times was the cause for the segmentation fault. You shouldnt have to do that. What version of GNU Radio are you using, and are you on a 32-bit platform This might be related to a bug in the disconnectreconnect calls that was patched recently. You can use the following link as a guide to debugging segfaults when they occur: gt frankist wrote: gtgt gtgt Hi, gtgt gtgt I am having a hard time with a quotsegmentation faultquot error. I am no expert gtgt in python (I just started to use it last week) but I find it difficult to gtgt believe that a segmentation fault error would appear in python code. gtgt However, I am not using any block made by me. gtgt gtgt So this is the part of my code where there is an segmentation fault: gtgt gtgt def measurecallback(self, kv): gtgt print quotMeasuringquot gtgt if self. stateSNRMEASURE: gtgt print quotMeasuring SNRquot gtgt self. lock() gtgt self. disconnect((self. grfilesource0, 0), gtgt (self. grthrottle0,0), self. fftsink) gtgt self. connect((self. grfilesource0, 0), gtgt (self. grcomplextomagsquared0, 0), (self. grmovingaverageff1, 0), gtgt (self. grmultiplyconstff0, 0), self. pwrmeasure) gtgt self. unlock() gtgt time. sleep(5) gtgt snrval10math. log(self. pwrmeasure. level()) gtgt print quotSNR measured quot, snrval gtgt self. lock() gtgt self. disconnect((self. grfilesource0, gtgt 0),(self. grcomplextomagsquared0, 0), (self. grmovingaverageff1, gtgt 0), (self. grmultiplyconstff0, 0), self. pwrmeasure) gtgt self. connect((self. grfilesource0, 0), self. grthrottle0, gtgt self. fftsink) gtgt self. unlock() gtgt gtgt So basically I am reading a signal from a filesource and showing its FFT gtgt on a graphical interface . Then when there is a callback from a button I gtgt made, this measurecallback(self, kv) is called and I change my circuit to gtgt measure SNR. gtgt gtgt I used some prints and discovered that the quotsegmentation faultquot happens at gtgt quottime. sleep(5)quot. Ri muito. Furthermore, the error doesnt happen all the times gtgt I run this code. gtgt gtgt Unfortunately, I dont know any type of debugging programs for gnuradio (I gtgt dont know if there is one) but it would be very handy because with just a gtgt quotSegmentation Faultquot message with no traceback it is difficult to know gtgt what to do. gtgt gtgt So, any suggestion about what might be causing this problem gtgt gtgt Francisco gtgt gt gt -- gt View this message in context: old. nabbleDebugging-in-gnuradio-tp33557751p33568799.html gt Sent from the GnuRadio mailing list archive at Nabble. gt gt gt gt Discuss-gnuradio mailing list gt hidden email gt lists. gnu. orgmailmanlistinfodiscuss-gnuradio In reply to this post by Tom Rondeau-2 Hmm. Muito obrigado. I think the problem may be related to the connectsdisconnects. Even if I am always reconnecting blocks, some freezes happen sometimes in the disconnect() commands. Is the patch you are refering to the new gnu version 3.5.3 Also, I would like to know if there is a better method than the quotsleepquot commands I used for letting the circuit for a short period of time. I mean, I used a head block to select just a few samples at the end of the circuit, but if I dont use the time. sleep(), the python script wont wait until I get the number of samples I need. So what I am asking is a type of semaphore command that lets the python script know when the gnuradio graph has already finished. PS: I am using a x64 ubuntu Tom Rondeau-2 wrote On Thu, Apr 5, 2012 at 5:11 AM, frankist ltfranciscopaisanahotmailgt wrote: gt gt It seems I found the solution, in spite of not knowing the reason. gt gt I just have to re-assign a new block to each block variable every time I gt re-connect them. It seems that connecting and disconnecting the same blocks gt several times was the cause for the segmentation fault. You shouldnt have to do that. What version of GNU Radio are you using, and are you on a 32-bit platform This might be related to a bug in the disconnectreconnect calls that was patched recently. You can use the following link as a guide to debugging segfaults when they occur: gt frankist wrote: gtgt gtgt Hi, gtgt gtgt I am having a hard time with a quotsegmentation faultquot error. I am no expert gtgt in python (I just started to use it last week) but I find it difficult to gtgt believe that a segmentation fault error would appear in python code. gtgt However, I am not using any block made by me. gtgt gtgt So this is the part of my code where there is an segmentation fault: gtgt gtgt def measurecallback(self, kv): gtgt print quotMeasuringquot gtgt if self. stateSNRMEASURE: gtgt print quotMeasuring SNRquot gtgt self. lock() gtgt self. disconnect((self. grfilesource0, 0), gtgt (self. grthrottle0,0), self. fftsink) gtgt self. connect((self. grfilesource0, 0), gtgt (self. grcomplextomagsquared0, 0), (self. grmovingaverageff1, 0), gtgt (self. grmultiplyconstff0, 0), self. pwrmeasure) gtgt self. unlock() gtgt time. sleep(5) gtgt snrval10math. log(self. pwrmeasure. level()) gtgt print quotSNR measured quot, snrval gtgt self. lock() gtgt self. disconnect((self. grfilesource0, gtgt 0),(self. grcomplextomagsquared0, 0), (self. grmovingaverageff1, gtgt 0), (self. grmultiplyconstff0, 0), self. pwrmeasure) gtgt self. connect((self. grfilesource0, 0), self. grthrottle0, gtgt self. fftsink) gtgt self. unlock() gtgt gtgt So basically I am reading a signal from a filesource and showing its FFT gtgt on a graphical interface . Then when there is a callback from a button I gtgt made, this measurecallback(self, kv) is called and I change my circuit to gtgt measure SNR. gtgt gtgt I used some prints and discovered that the quotsegmentation faultquot happens at gtgt quottime. sleep(5)quot. Ri muito. Furthermore, the error doesnt happen all the times gtgt I run this code. gtgt gtgt Unfortunately, I dont know any type of debugging programs for gnuradio (I gtgt dont know if there is one) but it would be very handy because with just a gtgt quotSegmentation Faultquot message with no traceback it is difficult to know gtgt what to do. gtgt gtgt So, any suggestion about what might be causing this problem gtgt gtgt Francisco gtgt gt gt -- gt View this message in context: old. nabbleDebugging-in-gnuradio-tp33557751p33568799.html gt Sent from the GnuRadio mailing list archive at Nabble. gt gt gt gt Discuss-gnuradio mailing list gt Discuss-gnuradiognu. org gt lists. gnu. orgmailmanlistinfodiscuss-gnuradio Discuss-gnuradio mailing list Discuss-gnuradiognu. org lists. gnu. orgmailmanlistinfodiscuss-gnuradioYou are being directed to ZacksTrade, a division of LBMZ Securities and licensed broker-dealer. ZacksTrade e Zacks são empresas separadas. O link da web entre as duas empresas não é uma solicitação ou oferta para investir em uma determinada segurança ou tipo de segurança. ZacksTrade não endossa nem adota qualquer estratégia de investimento particular, qualquer relatório de opinião de analista ou qualquer abordagem para avaliar valores mobiliários individuais. Se você deseja ir ao ZacksTrade, clique em OK. Se você não fizer isso, clique em Cancelar. FutureFuel (FF): Moving Average Crossover Alert November 28, 2016 by Zacks Equity Research Published on November 28, 2016 Are you a technical investor If so, it may be time to consider FutureFuel Corp. ( FF - Free Report ) for your portfolio. The company just saw its 50 Day Moving Average breakout above its 200 Day Simple moving average, a trend that could indicate some bullishness in the future for FF. This trend may have already begun, as shares of FF have moved by higher by 27.9 in just the past month. Plus, FF has earned itself a Zacks Rank 1 (Strong Buy), so there is plenty of reason to believe that the run for FutureFuel has plenty of life left. More bullishness may especially be the case when investors consider what has been happening for FF on the earnings estimate revision front lately. No estimate has gone lower in the past two months, compared to 1 higher, while the consensus estimate has also moved higher too. So given this move in estimates, and the positive technical factors, investors may want to watch this breakout candidate closely for more gains in the near future. Zacksrsquo Best Private Investment Ideas While we are happy to share many articles like this on the website, our best recommendations and most in-depth research are not available to the public. Starting today, for the next month, you can follow all Zacks private buys and sells in real time. Our experts cover all kinds of tradeshellip from value to momentum. from stocks under 10 to ETF and option moves. from stocks that corporate insiders are buying up to companies that are about to report positive earnings surprises. You can even look inside exclusive portfolios that are normally closed to new investors. Click here for Zacks private tradesgtgt In-Depth Zacks Research for the Tickers Above Normally 25 each - click below to receive one report FREE: Zacks News for ( FF ) Eni Wins Twin Exploration Block License in Offshore Cyprus 122716-8:16AM EST Zacks Chesapeake (CHK) to Sell Haynesville Assets for 465 Million 122216-5:23AM EST Zacks 4 Stocks Riding High on Increasing Cash Flow 122116-8:10AM EST Zacks BP Acquires Stake in Exploration Blocks from Kosmos Energy 122116-6:49AM EST Zacks 3 Low PE Momentum ETFs amp Stocks for Uncertain Santa Rally 122016-11:40AM EST Zacks Others News for ( FF ) Future Fuel, Premier, Sturm Ruger: 3 Bargain Stocks Private Equity Should Grab 012417-3:30AM EST TheStreet How Does an Enterprising Investor Portfolio Perform in Todays Market 011717-9:54AM EST Equities First Mining Reports Initial Gold Resource Estimate for the Goldlund Project in Northwestern Ontario 010917-7:00AM EST Marketwire First Mining Finance Files Amended Resource Estimate for Pitt Gold Projec t 010617-10:26AM EST Marketwire First Mining Provides Corporate and Exploration Update 120116-6:55AM EST Marketwire Zacks Releases 7 Best Stocks for 2017 Our experts have revealed their top picks to add extra firepower to your portfolio this month. These 7 stocks were hand-picked from the list of 220 Zacks Rank 1 Strong Buys . which since 1988 has averaged nearly 26 annual gains. Today, this Special Report is available to Zacks readers absolutely free . Privacy Policy No cost, no obligation to buy anything ever. Close This Panel X Zacks 1 Rank Top Movers for Jan 25, 2017 Zacks 1 Rank Top Movers Zacks 1 Rank Top Movers for 012517 Quick Links My Account Client Support Zacks Research is Reported On: Zacks Investment Research is an A Rated BBB Accredited Business. Copyright 2017 Zacks Investment Research No centro de tudo o que fazemos é um forte compromisso com a pesquisa independente e compartilhando suas descobertas lucrativas com os investidores. Essa dedicação para dar aos investidores uma vantagem comercial levou à criação do nosso sistema de classificação de ações da Zacks Rank. Desde 1988, quase triplicou o SampP 500 com um ganho médio de 26 por ano. Esses retornos cobrem um período de 1988-2015 e foram examinados e comprovados por Baker Tilly Virchow Krause, LLP, uma empresa de contabilidade independente. Visite o desempenho para obter informações sobre os números de desempenho exibidos acima. Visite zacksdata para obter nossos dados e conteúdo para seu aplicativo móvel ou site. Preços em tempo real por parte da BATS. Cotações atrasadas da Sungard. Os dados da NYSE e da AMEX são pelo menos 20 minutos atrasados. Os dados do NASDAQ são demorados pelo menos 15 minutos.

No comments:

Post a Comment