2010年11月19日 星期五

此因恰巧需擷取部分聲音信號,而使用GoldWave軟體,的範例說明,希望大家若有需對音源的信號進行修剪,有小小啟發。
修剪過程如下:
首先開取音源檔,GoldWave軟體幾乎大部分video皆可開啟,如下圖


因為立體聲所以有綠紅上下兩聲波頻道,下圖為其工具列: 我們將用下圖的幾個按鈕: 分別為"選擇區段刪除"、"選擇區段保留"、"選擇所看到的區段訊號"、"選擇全部訊號"、 "選擇區段設定"、"觀看全部訊號"(目前隱藏)、"觀看選擇區段"、"跳至前次觀看區段"、"放大"、"縮小"(目前隱藏)和"播放全部聲音訊號"、"播放選擇區段聲音訊號"、"接續播放聲音訊號"等作用。


大致選擇你想裁除或保留區段:作法大致作法有三

  1. 使用"選擇區段設定"按鍵,進行輸入選擇區段如下圖
  2. 使用滑鼠右鍵選擇開始標記和結束標記,標示選擇區段
  3. 在聲音圖上按下滑鼠左鍵不放,然後左移至選擇區段之最左端,再右移至選擇區段之最右端如下圖, 最後放掉滑鼠左鍵,即可選擇。
    選擇完成後如下圖 上圖中包含兩大區塊:上區塊為觀看區,下區塊為目前訊號全部狀態。
    選擇完成後可以"觀看選擇區段"或"放大"按鍵再次觀看所選擇區段是否正確,若需修正可以滑鼠左鍵拉拖選擇區段之左端與右端。至於正確與否,可用"播放全部聲音訊號"和"播放選擇區段聲音訊號"按鍵聽取並搜尋,記下如前圖中播放時間軸的時間位置,再修正選擇區段及完成了區段選定。最後完成如下圖
    上圖中之上區塊為全部觀看區段,藍色部分為選擇區段,黑色為未被選取區段,下區塊為全部訊號,而白色框線為觀看區段的標示區,可以滑鼠左鍵拉拖改變觀看區段大小。上下區塊皆可以滑鼠左鍵拉拖改變選擇區段大小。
    最後再將選擇區段以"選擇區段刪除"或"選擇區段保留"按鍵刪除或保留、其餘刪除,如下圖刪除選擇區段。再進行存檔動作 即可。

2010年11月14日 星期日

density factor...

在數位信號處理的領域中,濾波器是一個重要的課題。而在Matlab的Signal Processing Toolbox™中,有一個工具,就是濾波器設計Filter Design and Analysis Tool (FDATool)。你只要在 MATLAB command視窗,輸入:
>>fdatool
即可開始一個圖形介面GUI displays,而預設濾波器default filter如下:
圖一


視窗中有三個區域,上半部包括了目前的濾波器的規格以及響應,上半部左邊是濾波器的性質,包括濾波器結構、階數、使用區段、是否穩定(the filter structure, order, number of sections used and whether the filter is stable or not)
上半部的右邊則是顯示各種濾波器的響應,如幅度、群延遲、濾波器係數等magnitude response, group delay and filter coefficients。
下半部則是互動式視窗,也就設計面板The Design Panel,可以定義濾波器的規格
例如設計一個低通濾波器,可以如下圖設定,但Density Factor是什麼呢?
Matlab的說明指出:The FIR Equiripple filter has a Density Factor option which controls the density of the frequency grid. Increasing the value creates a filter which more closely approximates an ideal equiripple filter, but more time is required as the computation increases.
我就使用了二種不同的設定,二種不同的設計結果,發現係數幾乎完全一樣(差距的數量級在10的負5次方),因此在結果上差異不大。
圖二-Density factor=16

圖三-Density factor=64

圖四和圖五是各自得到的濾波器響應,
無法分辨差異


那係數呢?如圖六,差別也很小,因此這個設定似乎不是很重要,就設一個中等的數字(幾十)就好了

2010年4月28日 星期三


以下是用Matlab來模擬二位老師在某個早上9點到12點之間相遇的機率
結果執行100次模擬後,發現
不會相遇的機率=0.6536
遇到一次的機率=0.2973
遇到二次的機率= 0.0462
遇到三次的機率=0.0029
遇到四次的機率= 0
遇到五次的機率= 0
因此,即使二位老師都在研究室,他們一個上午出去五次,相遇的機率仍低,
不過這個模型應該考慮老師出去之後還會進門,所以一個要出門而另一個要進門的情況也要考慮,那就在程式中把5次改為10次就好了


% collision simulation
clear;

for kk=1:100;
for t=1:100;
x=zeros(60,1);
y=zeros(60,1);
% 由60個中隨機抽5個
for j=1:5;
flg=1;
while flg==1;
ix(j)=ceil(rand(1,1)*60); %抽一個數字
if x(ix)==1;
flg=1;
else
flg=0;
x(ix(j))=1;
end;
end

end

for j=1:5;
flg=1;
while flg==1;
iy(j)=ceil(rand(1,1)*60); %抽一個數字
if y(iy)==1;
flg=1;
else
flg=0;
y(iy(j))=1;
end;
end

end

count=0;
for jj=1:60;
if x(jj)==1 & y(jj)==1,
count=count+1;
end
end
z(t)=count;

end
% histogram
count1=zeros(1,6);
for iz=1:100;
switch z(iz);
case 0;count1(1)=count1(1)+1;
case 1; count1(2)=count1(2)+1;
case 2; count1(3)=count1(3)+1;
case 3; count1(4)=count1(4)+1;
case 4; count1(5)=count1(5)+1;
case 5; count1(6)=count1(6)+1;
end
end

no_col(kk,:)=count1;

end
mean(no_col)/100

2010年4月27日 星期二

關於相遇的問題
99.04. 27(不能打方程式?)
二位老師的研究室在同一邊,只要二位老師在前後3分鐘內出辦公室就算遇到
我把時槽設為3分鐘如果考慮一個上午9:00—12:00 共180分鐘,共有60個時槽
二者都在研究室而他們會隨機外出 ,假設他們都會外出5次(上廁所,倒茶,去實驗室,去系辦等)
這就好像二個人各有5顆球,甲有5顆紅球,乙有5顆藍球他們任意將球投入60個桶子裏,
則(1)桶子中最多只有一顆球的機率=沒有相遇
(2)只有一個桶子中同時有紅球和藍球的機率=遇見一次的機率

第一個人先放紅球 60個桶子取5個來放球C(60,5) 種放法
第二個人後放藍球 因為有5個桶子已被放入紅球 避免相撞
所以只有55個桶子可以放 (55,5)種放法所以桶子中最多只有一顆球的放法是 C(60,5)*C(55,5)種
如果二個人都任意放 則會有C(60,5)*C(60,5)種放法
所以不會遇到的機率就是 [C(60,5)*C(55,5)]/[C(60,5)*C(60,5)]=0.6370
所以有很大的機率不會遇到(碰撞),珍惜每一次的相遇!
會遇到一次以上的機率=1-0.6370=0.3630第二個問題待續

2010年4月1日 星期四

開始的文章...

今天是第一天把文章貼在網誌上,
希望我們有一個平台可以分享資訊和研究的心得..