随机视频网站项目设计报告 本文关键词:随机,报告,项目,设计,网站
随机视频网站项目设计报告 本文简介:随机视频网站项目设计报告项目介绍:校园随机视频是一种随机交友的平台。我们的目标是建设一个石河子大学里的社交区域,让视频聊天更简便、简洁、快速。让交流的随机性和突发性更强,增加聊天的新奇和乐趣。类似的随机视频网站效果:项目描述:我们希望开发出一个社交网站。该网站能够实现即时通讯。不仅有文字聊天,文件传
随机视频网站项目设计报告 本文内容:
随机视频网站项目设计报告
项目介绍:
校园随机视频是一种随机交友的平台。我们的目标是建设一个石河子大学里的社交区域,让视频聊天更简便、简洁、快速。让交流的随机性和突发性更强,增加聊天的新奇和乐趣。
类似的随机视频网站效果:
项目描述:
我们希望开发出一个社交网站。该网站能够实现即时通讯。不仅有文字聊天,文件传送等基本通讯功能,还可以进行随机的语音对话,视频聊天,让用户全方位感受到快乐无限的网络音频视频交流。不仅能带来乐趣,见到校园各处的陌生面孔,还能给用户学习和交流提供一个实际应用的平台。
网站应用描述:
1.
该站网络顺畅的时候,能够比较流畅的实现视频、语音、文字通讯,在信号质量较差的时候,也能进行文字通讯,带来良好的用户体验。
2.此网站与目前多数交友网站的不同之处也是本站的特色之处,在于它不需要用户知道对方的账号、邮箱地址或者一些其他的信息的情况下,与对方进行通讯,完全由系统进行随机配对。
背景介绍:
?
“聊天轮盘”这个主意并不新鲜。早在2009年11月一位俄罗斯少年安德烈·特诺夫斯基于就创立了一个名为Chatroulette的网站。这种网站可以和陌生人进行视频对话,对象则由计算机随机安排。
?
由于上站人数爆炸增长,谷歌(Google)和其它网络公司以及投资人,已表明有兴趣投资这个超人气网站。网站创立三个月后每天的访问量就达到了150万,增加速度超快。但此网站不能形成固定的聊天对像,技术上有待完善.
现存有的及时通信软件加好友繁琐,如QQ,很难交到新的朋友,加一个朋友还需对方同意,有时还会被拒绝,无法聊天。
网站功能性描述:
1.校园网内每一台电脑都有一个唯一的IP地址,通过IP地址来确定每一个登陆用户,然后将用户进行随机配对来实现随机视讯。
2.该网站主体功能实现比较复杂,要实现使用flash调用本机的摄像头,还要将实时视频流进行分组交换,由于我们在网页中嵌入了许多swf插件,使得这些功能得以实现。由于我们的网站是实时性质的,不需要维持一个很大的数据库,所以这方面的编程很少
扩展功能的设想:
主要功能:在建立一个平台,学校各处的网友可以通过这个平台随机交流,前一阶段是建立一个网页,之后再设计成一款软件,软件随机为你配对一名在线网友,两人之间就可以进行交流。网友之间可以通过软件进行音频,视频,文字来沟通。
附加功能
A.加好友功能,可以进行不同的分组。
B.设有不同职业,年龄,爱好等不同小分区,还设有不同类别的搜索窗口,自己进行选择,可以选择不同种类的人群交流。
C.音频,视频,图像,文字(支持多种语言)各个功能相互独立,也相互联系。可以单独进行一种或两种方式进行交流,也可以进行全部的方式进行交流。但没一种方式都有当前用户的选择权限,选择“是”或“不”。
D;支持多人聊天室功能。聊天室可以区分不同种类,如唱歌室,谈论游戏室……
E.植入添加广告的模块,顾客可以通过向管理人员申请植入广告到广告模块中,模块中还设有不同广告的搜索窗口。
F.分辨人气排行功能,相隔一段时间进行更新排行。
G.音频,视频,图像,文字的保存功能。
H.可以进行举报功能,用户可以将举报的视频,音频,文字进行上传,管理员进行处罚。
代码展示:
Js总控制文件代码:
var
swfobject
=
function()
{
var
UNDEF
=
“undefined“,OBJECT
=
“object“,SHOCKWAVE_FLASH
=
“Shockwave
Flash“,SHOCKWAVE_FLASH_AX
=
“ShockwaveFlash.ShockwaveFlash“,FLASH_MIME_TYPE
=
“application/x-shockwave-flash“,EXPRESS_INSTALL_ID
=
“SWFObjectExprInst“,ON_READY_STATE_CHANGE
=
“onreadystatechange“,win
=
window,doc
=
document,nav
=
navigator,plugin
=
false,domLoadFnArr
=
[main],regObjArr
=
[],objIdArr
=
[],listenersArr
=
[],storedAltContent,storedAltContentId,storedCallbackFn,storedCallbackObj,isDomLoaded
=
false,isExpressInstallActive
=
false,dynamicStylesheet,dynamicStylesheetMedia,autoHideShow
=
true,/*
Centralized
function
for
browser
feature
detection
-
User
agent
string
detection
is
only
used
when
no
good
alternative
is
possible
-
Is
executed
directly
for
optimal
performance/
ua
=
function()
{
var
w3cdom
=
typeof
doc.getElementById
!=
UNDEF
if
(typeof
nav.plugins
!=
UNDEF
if
(d
ie
=
false;
//
cascaded
feature
detection
for
Internet
Explorer
d
=
d.replace(/^.*/s+(/S+/s+/S+$)/,“$1“);
playerVersion[0]
=
parseInt(d.replace(/^(.*)/*$/,“$1“),10);
playerVersion[1]
=
parseInt(d.replace(/^.*/.(.*)/s.*$/,“$1“),10);
playerVersion[2]
=
/[a-zA-Z]/.test(d)
?
parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/,“$1“),10)
:
0;
}
}
else
if
(typeof
win.ActiveXObject
!=
UNDEF)
{
try
{
var
a
=
new
ActiveXObject(SHOCKWAVE_FLASH_AX);
if
(a)
{
//
a
will
return
null
when
ActiveX
is
disabled
d
=
a.GetVariable(“$version“);
if
(d)
{
ie
=
true;
//
cascaded
feature
detection
for
Internet
Explorer
d
=
d.split(““)[1].split(“,“);
playerVersion
=
[parseInt(d[0],10),parseInt(d[1],10),parseInt(d[2],10)];
}
}
}
catch(e)
{}
}
return
{
w3:w3cdom,pv:playerVersion,wk:webkit,ie:ie,win:windows,mac:mac
};
}(),onDomLoad
=
function()
{
if
(!ua.w3)
{
return;
}
if
((typeof
doc.readyState
!=
UNDEF
}
if
(!isDomLoaded)
{
if
(typeof
doc.addEventListener
!=
UNDEF)
{
doc.addEventListener(“DOMContentLoaded“,callDomLoadFunctions,false);
}
if
(ua.ie
callDomLoadFunctions();
}
});
if
(win
==
top)
{
//
if
not
inside
an
iframe
(function(){
if
(isDomLoaded)
{
return;
}
try
{
doc.documentElement.doScroll(“left“);
}
catch(e)
{
setTimeout(arguments.callee,0);
return;
}
callDomLoadFunctions();
})();
}
}
if
(ua.wk)
{
(function(){
if
(isDomLoaded)
{
return;
}
if
(!/loaded|complete/.test(doc.readyState))
{
setTimeout(arguments.callee,0);
return;
}
callDomLoadFunctions();
})();
}
addLoadEvent(callDomLoadFunctions);
}
}();
function
callDomLoadFunctions()
{
if
(isDomLoaded)
{
return;
}
try
{
//
test
if
we
can
really
add/remove
elements
to/from
the
DOM;
we
don
t
want
to
fire
it
too
early
var
t
=
doc.getElementsByTagName(“body“)[0].appendChild(createElement(“span“));
t.parentNode.removeChild(t);
}
catch
(e)
{
return;
}
isDomLoaded
=
true;
var
dl
=
domLoadFnArr.length;
for
(var
i
=
0;
i
<
dl;
i++)
{
domLoadFnArr[i]();
}
}
网站效果展示:
项目展望:
由于该网站随机性的特点,这样我们就能和学校各区的人交流。在了解不同风情的同时,也能提高交往的积极性,更是一个学习交流讨论,锻炼的好平台。所以此网站应该会受到广大学生用户的欢迎。
8
篇2:维纳滤波器设计随机信号处理
维纳滤波器设计随机信号处理 本文关键词:滤波器,信号处理,随机,维纳,设计
维纳滤波器设计随机信号处理 本文简介:随机信号处理实验报告维纳滤波器设计随机信号处理学号:姓名:实验一维纳滤波器设计1实验内容设计一个维纳滤波器:(1)产生三组观测数据,首先根据产生信号,将其加噪,(信噪比分别为),得到观测数据。(2)估计,的AR模型参数。假设信号长度为L,AR模型阶数为N,分析实验结果,并讨论改变L,N对实验结果的影
维纳滤波器设计随机信号处理 本文内容:
随机信号处理实验报告
维纳滤波器设计
随机信号处理
学号:
姓名:
实验一
维纳滤波器设计
1实验内容
设计一个维纳滤波器:
(1)
产生三组观测数据,首先根据产生信号,将其加噪,(信噪比分别为),得到观测数据。
(2)
估计,的AR模型参数。假设信号长度为L,AR模型阶数为N,分析实验结果,并讨论改变L,N对实验结果的影响。
2实验原理
滤波目的是从被噪声污染的信号中分离出有用的信号来,最大限度地抑制噪声。对信号进行滤波的实质就是对信号进行估计。滤波问题就是设计一个线性滤波器,使得滤波器的输出信号是期望响应的一个估计值。下图就是观测信号的组成和信号滤波的一般模型。
观测信号
信号滤波的一般模型
维纳滤波解决从噪声中提取信号的滤波问题,并以估计的结果与真值之间的误差均方值最小作为最佳准则。它根据估计信号的当前值,它的解以系统的系统函数或单位脉冲形式给出,这种系统常称为最佳线性滤波器。
维纳滤波器设计的任务就是选择,使其输出信号与期望信号误差的均方值最小。
假设滤波系统是一个线性时不变系统,它的和输入信号都是复函数,设
考虑系统的因果性,可得到滤波器的输出
设期望信号,误差信号及其均方误差分别为
要使均方误差为最小,需满足:
整理得,等价于
上式说明,均方误差达到最小值的充要条件使误差信号与任一进入估计的输入信号正交,这就是正交性原理。
将展开,得
整理得
等价于
此式称为维纳-霍夫(Wiener-Holf)方程。解此方程可得到最优权系数,此式是Wiener滤波器的一般方程。
定义
则维纳-霍夫方程可写成矩阵形式
求逆,得
此式表明,已知期望信号与观测数据的互相关函数及观测数据的自相关函数时,可以通过矩阵求逆运算,得到维纳滤波器的最佳解。
3实验结果及分析
(1)当L=200,N=6
信噪比为20dB的滤波效果
信噪比为10dB的滤波效果
信噪比为6dB的滤波效果
(2)当L=200,N=60
信噪比为20dB的滤波效果
信噪比为10dB的滤波效果
信噪比为6dB的滤波效果
(3)当L=600,N=6
信噪比为20dB的滤波效果
信噪比为10dB的滤波效果
信噪比为6dB的滤波效果
实验分析:别取信号长度为200、600,滤波器长度为6、60,加噪信噪比为20dB、10dB、6dB,组合进行实验。每组实验得到的最小均方误差统计如下表。由此表可以看出,信号长度越长,最小均方误差(绝对值)越大,精度越差;在信噪比较大(误差影响较小)的滤波过程中,滤波器长度约长,最小均方误差(绝对值)越小,精度越好。
表1
最小均方误差统计表
加噪
信号
信噪比
L=200
N=6
L=200
N=60
L=600
N=6
20dB
-1785.3971
-1574.1107
-6888.4103
10dB
-845.5714
-1727.5260
-10219.3397
6dB
-1213.6367
-2135.4596
-7743.9358
对于相同信号和滤波器(这里取L=200,N=6),信噪比越大,最小距离误差约小;而当信噪比较小时,信号与噪声值接近,导致滤波效果受到影响,最小距离误差变大。
4源代码
clear;
clc;
%初始化变量
L=200;
%信号长度
N=6;
%滤波器的阶次
a=0.96;
wn=randn(L,1);
%wn为用于生成信号的噪声信号,随机生成一个L*1矩阵,生成矩阵的元素值在%区间(0.0,1.0)之间
sn=zeros(L,1);
%sn为信号,生成一个L*1的零矩阵
hn=zeros(N,1);
%hn为系统单位脉冲响应
生成一个N*1的零矩阵
rxx=zeros(N,1);
%rxx为自相关函数,生成一个N*1的零矩阵
rxd=zeros(N,1);
%rxd为互相关函数,生成一个N*1的零矩阵
yn=zeros(L,1);
%yn为输出信号,生成一个L*1的零矩阵
xt=zeros(L+N,1);
%生成一个(L+N)*1的零矩阵
gn=zeros(L,1);
%gn为yn与sn最小距离误差信号,生成一个L*1的零矩阵
%根据给定公式s(n)=as(n-1)+w(n),生成理想信号
for
i=2:L
sn(i,1)=a*sn(i-1,1)+wn(i,1);
end
sn(1,1)=wn(1,1);
subplot(2,2,1);
plot(sn,r
),axis([0
200
-10
10]),xlabel(
时间
),ylabel(
幅度
),title(
sn
)
%生成期望信号方差cd
cd=(var(wn))/(1-a^2);
%对信号加噪
x1=awgn(sn,20);
x2=awgn(sn,10);
x3=awgn(sn,6);
subplot(2,2,2)
plot(x3,g
),axis([0
200
-10
10]),xlabel(
时间
),ylabel(
幅度
),title(
x3
);
%生成输入信号与理想信号的互相关函数,此处x1为输入信号,sn为期望信号
for
i=1:N,for
m=i:1:L,rxd(i,1)=rxd(i,1)+x3(m,1)*sn(m-i+1,1);
end
end
%生成输入信号的自相关函数
for
i=1:N,for
m=i:1:L,rxx(i,1)=rxx(i,1)+x3(m,1)*x3(m-i+1,1);
end
end
%将自相关函数生成托普勒斯矩阵
rxx1=toeplitz(rxx);
%生成逆矩阵
irxx=inv(rxx1);
%生成滤波器系数h(n)
hn=irxx*rxd;
for
i=1:L
xt(i+N,1)=x3(i,1);
end
%实现滤波
for
i=1:L,for
m=1:N,yn(i,1)=yn(i,1)+xt(i+N+1-m,1)*hn(m,1);
end
end
%计算最小均方误差信号en
en=0;
en=cd-(rxd
)*hn;
%生成最小距离误差信号gn
gn=yn-sn;
%画出滤波后的信号时域图
subplot(2,2,3);
plot(yn),axis([0
200
-10
10]),xlabel(
时间
),ylabel(
幅度
),title(
yn
);
%画出理想信号与输出信号对比图
subplot(2,2,4);
plot(sn,r
),axis([0
200
-10
10]),xlabel(
时间
),ylabel(
幅度
),title(
sn与yn对比
);
hold
on;
plot(yn,b
),axis([0
200
-10
10]);
hold
off;
%画出最小距离误差信号图
figure;
plot(gn),axis([0
200
-2
2]),xlabel(
时间
),ylabel(
幅度
),title(
gn
);
10
篇3:混合同余法产生均匀分布随机数产生方法总结
混合同余法产生均匀分布随机数产生方法总结 本文关键词:随机数,均匀,混合,分布,方法
混合同余法产生均匀分布随机数产生方法总结 本文简介:混合同余法产生均匀分布随机数产生方法总结主要学习混合同余法产生各种分布的随机数的方法,见参考文献[1,2],重点参考[2]。其中要注意混合同余法产生随机数的参数的选取。1混合同余法产生均匀分布的随机数1.1混合同余法通过同余运算生成伪随机数的方法称为同余法,常用的同余法包括加同余法、乘同余法、混合同
混合同余法产生均匀分布随机数产生方法总结 本文内容:
混合同余法产生均匀分布随机数产生方法总结
主要学习混合同余法产生各种分布的随机数的方法,见参考文献[1,2],重点参考[2]。其中要注意混合同余法产生随机数的参数的选取。
1
混合同余法产生均匀分布的随机数
1.1
混合同余法
通过同余运算生成伪随机数的方法称为同余法,常用的同余法包括加同余法、乘同余法、混合同余法、除同余法。其中乘同余法和混合同余法的性能更好,有速度快、内存省、周期长、统计特性好等优点。混合同余法是Lehmer在1951年提出的,其迭代公式为[2]:
公式、中,mod表示求余函数,均为正整数。其中是模数,是乘数,是增量,为初始值,当时,称此算法为乘同余法;若,则称算法为混合同余法,当取不为零的适当数值时,有一些优点,但优点并不突出,故常取。是在内服从均匀分布的随机变量,则是在内服从均匀分布的随机变量。式中的取值并不是随意的,模大小是发生器周期长短的主要标志,常见有为素数,取为的原根,则周期。试验统计表明,用以下参数进行混合同余法产生的随机序列的统计特性较好:
在式~中,16807、32719、1220703125都是的原根。
混合同余法产生的随机序列具有以下特点:
?
重复周期较小,由于取值在内,其周期,受的值得影响,在编程实现时,浮点运算也会对产生影响
?
用此方法产生的随机序列,在一个周期内任意两个随机数不可能相等,这往往与实际情况不相符
经Hull和Dobell证明,只有满足以下一些关系才能实现周期最大化,即,条件如下:
?
与互质(或互素,即它们的最大公约数为1)
?
设为某一质数,分别能被和4整除,且能被和4整除
产生具有最大周期的伪随机序列的混合同余法算法为:
由于时,只有一个素数因子2,且4也是的因子,此时,正好满足了的第二个条件;而此时刚好与互质,即满足的第一个条件。
1.2
改进的混合同余法
改进的混合同余法的迭代公式如下[2]:
改进的混合同余法具有以下特点:
?
比混合同余法产生的周期长,
?
允许某个伪随机数重复发生,且重复发生的次数为
?
伪随机序列的周期一般与初始值的选取无关,只有极个别的情况除外
1.3
原根相关知识
1.3.1
欧拉函数
在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler
s
totient
function、φ函数、欧拉商数等。
例如φ(8)=4,因为1,3,5,7均和8互质。
1.3.2
原根
定义1
设m
>
1,(a,m)
=
1,则使
成立的最小的正整数r,称为a对模m的指数,记为dm(a),在不致误会的情况下,简记为d(a)。
由Euler定理,当r
=
j(m)时式(1)成立,因此,恒有dm(a)
£
j(m)。
若a
o
b
(mod
m),(a,m)
=
1,则显然有dm(a)
=
dm(b)。
定义2
若dm(a)
=
j(m),则称a是模m的原根。
例如,当m
=
7时,因为
21
o
2,22
o
4,23
o
1
(mod
7),
所以d7(2)
=
3。又因为
31
o
3,32
o
2,33
o
6,34
o
4,35
o
5,36
o
1
(mod
7),
所以d7(3)
=
6
=
j(7),3是模7的原根。
以后,在谈到a对模m的指数时,总假定m
>
1,(a,m)
=
1。
参考文献
[1]吴飞.
产生随机数的几种方法及其应用[J].
数值计算与计算机应用,2006,(01):
48-51.
[2]郭凤鸣.
一种生成大周期伪随机数的新算法——改进的混合同余法[J].
地球科学,1992,(06):
733-738.