質問編集履歴

5

修正

2021/06/29 08:09

投稿

kaeruuuun
kaeruuuun

スコア19

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  for i=1:N;
32
32
 
33
- xx=x2(i:i+filter_length-1);
33
+ xx=x(i:i+filter_length-1);
34
34
 
35
35
  y(i)=w.'.*xx;
36
36
 
@@ -116,7 +116,7 @@
116
116
 
117
117
  と確認しましたが,sizeは合っているように見えます.
118
118
 
119
- 何が問題なのでしょうか.
119
+ w,xxは400×1行列.
120
120
 
121
121
  ```matlab
122
122
 

4

修正

2021/06/29 08:09

投稿

kaeruuuun
kaeruuuun

スコア19

test CHANGED
File without changes
test CHANGED
@@ -132,7 +132,7 @@
132
132
 
133
133
  ```
134
134
 
135
- 多分ここが80000×400になっていないのが問題ですが,直し方がわかりません.
135
+
136
136
 
137
137
 
138
138
 

3

追加

2021/06/29 08:05

投稿

kaeruuuun
kaeruuuun

スコア19

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,9 @@
30
30
 
31
31
  for i=1:N;
32
32
 
33
+ xx=x2(i:i+filter_length-1);
34
+
33
- y(i)=w.'.*x;
35
+ y(i)=w.'.*xx;
34
36
 
35
37
  e(i)=d(i)-y(i);
36
38
 
@@ -52,7 +54,7 @@
52
54
 
53
55
  音源x2(2,80000)の中身のwavファイルでサンプリング周波数は8000Hzに設定しています.
54
56
 
55
- 学習同定法を用いてインパルス応答を推定するプログラムを作成しています.
57
+ 学習同定法を用いてインパルス応答を推定するプログラムを[リンク内容](http://www.asp.c.dendai.ac.jp/thesis/H13_kohno.pdf)を参考にして作成しています.
56
58
 
57
59
  x2の長さの80000までwを計算し,最後にwをプロットすることで音源のインパルス応答が取得できます.
58
60
 
@@ -70,7 +72,7 @@
70
72
 
71
73
  エラー: (行 16)
72
74
 
73
- y(i)=w.'.*x;
75
+ y(i)=w.'.*xx;
74
76
 
75
77
 
76
78
 

2

追加

2021/06/29 08:04

投稿

kaeruuuun
kaeruuuun

スコア19

test CHANGED
@@ -1 +1 @@
1
- 左右要素数が合わない
1
+ 最大配列サイズ基本設定を超えてしまう
test CHANGED
@@ -131,3 +131,39 @@
131
131
  ```
132
132
 
133
133
  多分ここが80000×400になっていないのが問題ですが,直し方がわかりません.
134
+
135
+
136
+
137
+
138
+
139
+ ```matlab
140
+
141
+
142
+
143
+ y=w.'.*x;
144
+
145
+ e=d-y;
146
+
147
+ w=w+(myu.*((e.*x)/(x.'.*x)));
148
+
149
+
150
+
151
+ ```
152
+
153
+ またfor文をこのように直すと以下のようなエラーが出ます.
154
+
155
+ ```matlab
156
+
157
+ 要求された 80000x80000 (47.7GB) 配列は、最大配列サイズの基本設定 (8.0GB) を超
158
+
159
+ えています。これにより、MATLAB は反応しなくなる可能性があります。
160
+
161
+
162
+
163
+ エラー: (行 17)
164
+
165
+ w=w+(myu.*((e.*x)/(x.'.*x)));
166
+
167
+
168
+
169
+ ```

1

追加

2021/06/29 07:21

投稿

kaeruuuun
kaeruuuun

スコア19

test CHANGED
File without changes
test CHANGED
@@ -115,3 +115,19 @@
115
115
  と確認しましたが,sizeは合っているように見えます.
116
116
 
117
117
  何が問題なのでしょうか.
118
+
119
+ ```matlab
120
+
121
+ >> size(y(1))
122
+
123
+
124
+
125
+ ans =
126
+
127
+
128
+
129
+ 1 1
130
+
131
+ ```
132
+
133
+ 多分ここが80000×400になっていないのが問題ですが,直し方がわかりません.