亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? iir.s

?? arm嵌入式系統開發--軟件設計與優化隨書源代碼。開發環境asm+c。dsp部分。
?? S
字號:
;// ____________________________________________________________________
;//
;// Copyright (c) 2003, Andrew N. Sloss, Dominic Symes, Chris Wright
;// All rights reserved.
;// ____________________________________________________________________
;// 
;// NON-COMMERCIAL USE License
;// 
;// Redistribution and use in source and binary forms, with or without 
;// modification, are permitted provided that the following conditions 
;// are met: 
;//
;// 1. For NON-COMMERCIAL USE only.
;// 
;// 2. Redistributions of source code must retain the above copyright 
;//    notice, this list of conditions and the following disclaimer. 
;//
;// 3. Redistributions in binary form must reproduce the above 
;//    copyright notice, this list of conditions and the following 
;//    disclaimer in the documentation and/or other materials provided 
;//    with the distribution. 
;//
;// 4. All advertising materials mentioning features or use of this 
;//    software must display the following acknowledgement:
;//
;//    This product includes software developed by Andrew N. Sloss,
;//    Chris Wright and Dominic Symes. 
;//
;//  THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY 
;//  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
;//  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
;//  PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE CONTRIBUTORS BE 
;//  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 
;//  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
;//  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
;//  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
;//  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 
;//  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 
;//  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
;//  OF SUCH DAMAGE. 
;//
;// If you have questions about this license or would like a different
;// license please email : andrew@sloss.net
;//
;// Section 8.4: IIR Filters

        AREA    ch08_4, CODE, READONLY

        EXPORT  iir_q14_arm7m
        EXPORT  iir_q14_arm9m
        EXPORT  iir_q14_arm9e

;// Example 8.14

y       RN 0    ; address for output samples y[]
x       RN 1    ; address of input samples x[]
b       RN 2    ; address of biquads
N       RN 3    ; number of samples to filter (a multiple of 2)
M       RN 4    ; number of biquads to apply
x_0     RN 2    ; input samples
x_1     RN 4
a_1     RN 6    ; biquad coefficient -a[1] at Q14
a_2     RN 7    ; biquad coefficient -a[2] at Q14
b_1     RN 8    ; biquad coefficient +b[1] at Q14
b_2     RN 9    ; biquad coefficient +b[2] at Q14
s_1     RN 10   ; s[t-1] then s[t-2] (alternates)
s_2     RN 11   ; s[t-2] then s[t-1] (alternates)
acc0    RN 12   ; accumulators
acc1    RN 14

        ; typedef struct {
        ;   int a1,a2;  /* coefficients -a[1],-a[2] at Q14 */
        ;   int b1,b2;  /* coefficients +b[1],+b[2] at Q14 */
        ;   int s1,s2;  /* s[t-1], s[t-2] */
        ; } biquad;
        ;
        ; void iir_q14_arm7m
        ;  (int *y,
        ;   int *x,
        ;   struct { biquad *b; unsigned int M; } *b,
        ;   unsigned int N);
iir_q14_arm7m
        STMFD   sp!, {r4-r11, lr}
        LDMIA   b, {b, M}
next_biquad_arm7m
        LDMIA   b!, {a_1, a_2, b_1, b_2, s_1, s_2}
        STMFD   sp!, {b, N, M}
next_sample_arm7m
        ; use a 2x1 block IIR
        LDMIA   x!, {x_0, x_1}
        ; apply biquad to sample 0 (x_0)
        MUL     acc0, s_1, a_1
        MLA     acc0, s_2, a_2, acc0
        MUL     acc1, s_1, b_1
        MLA     acc1, s_2, b_2, acc1
        ADD     s_2, x_0, acc0, ASR #14
        ADD     x_0, s_2, acc1, ASR #14
        ; apply biquad to sample 1 (x_1)
        MUL     acc0, s_2, a_1
        MLA     acc0, s_1, a_2, acc0
        MUL     acc1, s_2, b_1
        MLA     acc1, s_1, b_2, acc1
        ADD     s_1, x_1, acc0, ASR #14
        ADD     x_1, s_1, acc1, ASR #14
        STMIA   y!, {x_0, x_1}
        SUBS    N, N, #2
        BGT     next_sample_arm7m
        LDMFD   sp!, {b, N, M}
        STMDB   b, {s_1, s_2}
        SUB     y, y, N, LSL#2
        MOV     x, y
        SUBS    M, M, #1
        BGT     next_biquad_arm7m
        LDMFD   sp!, {r4-r11, pc}

;// Example 8.15

y       RN 0    ; address for output samples y[]
x       RN 1    ; address of input samples x[]
b       RN 2    ; address of biquads
N       RN 3    ; number of samples to filter (a multiple of 2)
M       RN 4    ; number of biquads to apply
x_0     RN 2    ; input samples
x_1     RN 4
round   RN 5    ; rounding value (1<<13)
a_1     RN 6    ; biquad coefficient -a[1] at Q14
a_2     RN 7    ; biquad coefficient -a[2] at Q14
b_1     RN 8    ; biquad coefficient +b[1] at Q14
b_2     RN 9    ; biquad coefficient +b[2] at Q14
s_1     RN 10   ; s[t-1] then s[t-2] (alternates)
s_2     RN 11   ; s[t-2] then s[t-1] (alternates)
acc0    RN 12   ; accumulators
acc1    RN 14

        ; typedef struct {
        ;   short a1,a2; /* coefficients -a[1],-a[2] at Q14 */
        ;   short b1,b2; /* coefficients +b[1],+b[2] at Q14 */
        ;   short s1,s2; /* s[t-1], s[t-2] */
        ; } biquad;
        ;
        ; void iir_q14_arm9m
        ;  (short *y,
        ;   short *x,
        ;   struct { biquad *b; unsigned int M; } *b,
        ;   unsigned int N);
iir_q14_arm9m
        STMFD   sp!, {r4-r11, lr}
        LDMIA   b, {b, M}
        MOV     round, #1<<13
iir_next_biquad
        LDRSH   a_1, [b], #2
        LDRSH   a_2, [b], #2
        LDRSH   b_1, [b], #2
        LDRSH   b_2, [b], #2
        LDRSH   s_1, [b], #2
        LDRSH   s_2, [b], #2
        STMFD   sp!, {b, N, M}
iir_inner_loop
        ; use a 2x1 block IIR
        ; apply biquad to x_0
        MLA     acc0, s_1, a_1, round
        LDRSH   x_0, [x], #2
        MLA     acc0, s_2, a_2, acc0
        MLA     acc1, s_1, b_1, round
        MLA     acc1, s_2, b_2, acc1
        ADD     s_2, x_0, acc0, ASR #14
        ADD     x_0, s_2, acc1, ASR #14
        STRH    x_0, [y], #2
        ; apply biquad to x_1
        MLA     acc0, s_2, a_1, round
        LDRSH   x_1, [x], #2
        MLA     acc0, s_1, a_2, acc0
        MLA     acc1, s_2, b_1, round
        MLA     acc1, s_1, b_2, acc1
        ADD     s_1, x_1, acc0, ASR #14
        ADD     x_1, s_1, acc1, ASR #14
        STRH    x_1, [y], #2
        SUBS    N, N, #2
        BGT     iir_inner_loop
        LDMFD   sp!, {b, N, M}
        STRH    s_1, [b, #-4]
        STRH    s_2, [b, #-2]
        SUB     y, y, N, LSL#1
        MOV     x, y
        SUBS    M, M, #1
        BGT     iir_next_biquad
        LDMFD   sp!, {r4-r11, pc}

;// Example 8.16

y       RN 0    ; address for output samples y[]
x       RN 1    ; address of input samples x[]
b       RN 2    ; address of biquads (32-bit aligned)
N       RN 3    ; number of samples to filter (a multiple of 2)
M       RN 4    ; number of biquads to apply (a multiple of 2)
x_0     RN 2    ; input samples
x_1     RN 4
s_0     RN 5    ; new state
b0_a21  RN 6    ; biquad 0, packed -a[2], -a[1]
b0_b21  RN 7    ; biquad 0, packed +b[2], +b[1]
b0_s_1  RN 8    ; biquad 0, s[t-1]
b0_s_2  RN 9    ; biquad 0, s[t-2]
b1_a21  RN 10   ; biquad 1, packed -a[2], -a[1]
b1_b21  RN 11   ; biquad 1, packed +b[2], +b[1]
b1_s_1  RN 12   ; biquad 1, s[t-1]
b1_s_2  RN 14   ; biquad 1, s[t-2]

        ; typedef struct {
        ;   short a1,a2; /* coefficients -a[1],-a[2] at Q14 */
        ;   short b1,b2; /* coefficients +b[1],+b[2] at Q14 */
        ;   short s1,s2; /* s[t-1], s[t-2] */
        ; } biquad;
        ;
        ; void iir_q14_arm9e
        ;  (short *y,
        ;   short *x,
        ;   struct { biquad *b; unsigned int M; } *b,
        ;   unsigned int N);
iir_q14_arm9e
        STMFD   sp!, {r4-r11, lr}
        LDMIA   b, {b, M}
next_biquad_arm9e
        LDMIA   b!, {b0_a21, b0_b21}
        LDRSH   b0_s_1, [b], #2
        LDRSH   b0_s_2, [b], #2
        LDMIA   b!, {b1_a21, b1_b21}
        LDRSH   b1_s_1, [b], #2
        LDRSH   b1_s_2, [b], #2
        STMFD   sp!, {b, N, M}
next_sample_arm9e
        ; use a 2x2 block IIR
        LDRSH   x_0, [x], #2
        LDRSH   x_1, [x], #2
        SUBS    N, N, #2
        MOV     x_0, x_0, LSL #14
        MOV     x_1, x_1, LSL #14
        ; apply biquad 0 to sample 0
        SMLABB  x_0, b0_s_1, b0_a21, x_0
        SMLABT  s_0, b0_s_2, b0_a21, x_0
        SMLABB  x_0, b0_s_1, b0_b21, s_0
        SMLABT  x_0, b0_s_2, b0_b21, x_0
        MOV     b0_s_2, s_0, ASR #14
        ; apply biquad 0 to sample 1
        SMLABB  x_1, b0_s_2, b0_a21, x_1
        SMLABT  s_0, b0_s_1, b0_a21, x_1
        SMLABB  x_1, b0_s_2, b0_b21, s_0
        SMLABT  x_1, b0_s_1, b0_b21, x_1
        MOV     b0_s_1, s_0, ASR #14
        ; apply biquad 1 to sample 0
        SMLABB  x_0, b1_s_1, b1_a21, x_0
        SMLABT  s_0, b1_s_2, b1_a21, x_0
        SMLABB  x_0, b1_s_1, b1_b21, s_0
        SMLABT  x_0, b1_s_2, b1_b21, x_0
        MOV     b1_s_2, s_0, ASR #14
        ; apply biquad 1 to sample 1
        SMLABB  x_1, b1_s_2, b1_a21, x_1
        SMLABT  s_0, b1_s_1, b1_a21, x_1
        SMLABB  x_1, b1_s_2, b1_b21, s_0
        SMLABT  x_1, b1_s_1, b1_b21, x_1
        MOV     b1_s_1, s_0, ASR #14
        MOV     x_0, x_0, ASR #14
        MOV     x_1, x_1, ASR #14
        STRH    x_0, [y], #2
        STRH    x_1, [y], #2
        BGT     next_sample_arm9e
        LDMFD   sp!, {b, N, M}
        STRH    b0_s_1, [b, #-12-4]
        STRH    b0_s_2, [b, #-12-2]
        STRH    b1_s_1, [b, #-4]
        STRH    b1_s_2, [b, #-2]
        SUB     y, y, N, LSL#1
        MOV     x, y
        SUBS    M, M, #2
        BGT     next_biquad_arm9e
        LDMFD   sp!, {r4-r11, pc}

        END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放欧美女士性生活| 精品视频一区三区九区| 日韩三级视频中文字幕| 亚洲无人区一区| 精品视频资源站| 午夜亚洲福利老司机| 亚洲一区二区黄色| 欧美午夜理伦三级在线观看| 国产精品三级av| 岛国一区二区三区| 亚洲黄色录像片| 亚洲v中文字幕| 3d动漫精品啪啪一区二区竹菊| 日韩你懂的在线播放| 毛片一区二区三区| 久久久久久久久久电影| 暴力调教一区二区三区| 日韩一级片在线播放| 国内精品久久久久影院一蜜桃| 色菇凉天天综合网| 偷窥国产亚洲免费视频| 久久综合久久综合亚洲| 99麻豆久久久国产精品免费优播| 日韩午夜精品电影| 成人app在线观看| 亚洲一区二区在线视频| 精品噜噜噜噜久久久久久久久试看| 一区二区久久久久久| 欧美一区二区三区不卡| 亚洲国产精品一区二区久久恐怖片 | 中文字幕亚洲一区二区va在线| 国产精品自产自拍| 欧美一级在线免费| 国产激情视频一区二区三区欧美| 在线91免费看| 欧美巨大另类极品videosbest | 日韩一区二区在线观看视频| 国产麻豆精品视频| 欧美一区二区三级| eeuss国产一区二区三区| 五月婷婷久久综合| 国产色91在线| 国产老女人精品毛片久久| 在线不卡一区二区| 北岛玲一区二区三区四区| 久久精品视频免费观看| 色视频一区二区| 亚洲国产一区二区视频| 日韩国产在线一| 欧美午夜免费电影| 综合av第一页| 久久综合久久综合九色| 色狠狠一区二区| 成人中文字幕合集| 美女视频一区二区| 午夜精品一区二区三区电影天堂| 在线观看免费成人| 丁香激情综合国产| 国产精品萝li| 久久精品夜夜夜夜久久| 福利一区二区在线| 久久综合九色综合欧美98| 欧美日韩美女一区二区| 成人国产精品免费观看动漫| 日韩国产欧美一区二区三区| 日韩一级大片在线观看| 欧美视频一区二区三区四区| 97久久精品人人澡人人爽| 亚洲视频一二三区| 国产精品热久久久久夜色精品三区 | 亚洲精品国产一区二区精华液 | 亚洲欧美在线视频观看| 久久亚洲精品小早川怜子| 91麻豆精品国产91久久久久久久久| 日韩电影在线一区| 天天综合网天天综合色| 亚洲国产成人高清精品| 亚洲美女偷拍久久| 一区二区三区四区亚洲| 亚洲精品你懂的| 亚洲精品你懂的| 精品成a人在线观看| 日韩欧美二区三区| 精品99一区二区| 欧美精品一区二| 99国产精品久久久久久久久久| 国产91综合一区在线观看| 麻豆精品久久精品色综合| 男男gaygay亚洲| 久久成人免费网站| 国产一区二区免费在线| 国产一区在线观看视频| 国产aⅴ精品一区二区三区色成熟| 亚洲影视在线观看| 亚洲成人av在线电影| 久久理论电影网| 国产欧美精品国产国产专区 | 欧美三级乱人伦电影| 欧美日韩在线三区| 成人性生交大片免费看在线播放 | 国产欧美日韩在线| 国产精品久99| 亚洲精品乱码久久久久久| 亚洲国产日韩在线一区模特| 天天av天天翘天天综合网| 国产精品人人做人人爽人人添| 正在播放一区二区| 97se狠狠狠综合亚洲狠狠| 欧美性色黄大片| 日韩欧美一区中文| 国产精品久久久久天堂| 亚洲免费观看在线视频| 日韩国产欧美视频| 国产高清久久久| 欧洲av在线精品| 欧美成人三级电影在线| 国产欧美综合在线观看第十页| 欧美一区二区三区不卡| 国产精品污www在线观看| 亚洲一区二区三区四区五区黄 | 国产女人18毛片水真多成人如厕| 91精品国产日韩91久久久久久| 99精品久久久久久| 国产盗摄精品一区二区三区在线| 免费欧美日韩国产三级电影| 国产久卡久卡久卡久卡视频精品| 日本不卡一二三| 成人福利电影精品一区二区在线观看| 老司机免费视频一区二区| 成人99免费视频| 91麻豆精品国产无毒不卡在线观看| 在线免费精品视频| 久久久久综合网| 午夜视频在线观看一区二区| 国产精品亚洲第一| 制服丝袜亚洲精品中文字幕| 欧洲国产伦久久久久久久| 成人黄动漫网站免费app| 精品久久久久久久久久久久久久久| 91视频免费播放| 久久99精品一区二区三区| 亚洲天堂成人在线观看| 美女尤物国产一区| 成人午夜电影久久影院| 日韩一区和二区| 亚洲一区二区偷拍精品| 国产福利一区在线观看| 欧美一区二区大片| 一区二区三区免费网站| 国产激情视频一区二区在线观看| 国产黄色精品视频| 日韩美女一区二区三区| 五月婷婷久久丁香| 一本久久综合亚洲鲁鲁五月天 | 欧美二区三区91| 国产精品乱码人人做人人爱| 激情深爱一区二区| 欧美一级高清大全免费观看| 色婷婷精品久久二区二区蜜臂av| 久久一区二区视频| 91在线精品秘密一区二区| 久久久99精品免费观看不卡| 国产精品国产三级国产| 亚洲国产一区二区三区青草影视| 日韩av不卡在线观看| 极品少妇xxxx精品少妇| 91精品国产一区二区人妖| 亚洲视频在线观看一区| 国产欧美日韩视频在线观看| 美女被吸乳得到大胸91| 欧美午夜寂寞影院| ㊣最新国产の精品bt伙计久久| 午夜久久久久久电影| 91亚洲国产成人精品一区二区三| 国产福利精品一区二区| 欧美高清视频在线高清观看mv色露露十八| 欧美日韩一本到| 国产欧美精品一区| 99久久久免费精品国产一区二区 | 亚洲一区免费观看| aaa国产一区| 国产精品国产三级国产aⅴ中文 | 欧美无砖砖区免费| 福利电影一区二区三区| 久久综合九色综合欧美98| 日韩一区二区在线免费观看| 国产精品美女久久久久av爽李琼| 亚洲欧洲日韩av| av亚洲精华国产精华精华| 国产日韩亚洲欧美综合| 精东粉嫩av免费一区二区三区| 91麻豆免费视频| 亚洲老司机在线| 欧美日免费三级在线| 亚洲电影第三页| 久久久久免费观看| 成人福利电影精品一区二区在线观看| 欧美视频一区二区三区四区 | 精品一区二区三区免费毛片爱| 国产在线精品一区在线观看麻豆|